Some feedback.

Eric Methorst arnalon at
Fri Feb 15 11:08:42 GMT 2002

Hi there.

I've been using KDevelop for some time now, and I thought it might be 
helpfull to you if I relayed my experiances.

First of all I'd like to say you guys made a great product. I'm the kind of 
programmer who is used to having 10 or more source and header files opened, 
which becomes quite confusing if you're running seperate x-terms :-) Having 
an integrated debugger is great and being able to generate api documentation 
makes that part of life also much easier.

Having everyting in one place, is quite a good idea, which I'm actually used 
to since I've been using the developer studio for some years in the past.

However: there is always some room for improvement and i'd like to take the 
oppurtunity to suggest a few.

- I found quite an interesing bug in the api-documentation generator. I 
declared the following function in a header file:
someParseFunct(char const* in, vector<string>& out, char seperator = ';');
The api-doc generator will fail on the default ';', suggesting to me it is 
considering that the doc parser is simply looking for the first occurance of 
an ';' and not looking for it at the end of the ertry (e.g looking for ');' 
or something like that.

- I remapped some keys to step into (F11) and step out (SHIFT-F10), step over 
(F10) for the debugger, yet a lot of times they donot seem to work, forcing 
me to use the mouse while debugging! (For that reason alone, I consider thit 
one a severe bug).

- There is some strange occurance in the api-doc generation wich causes my 
documentation to come out wrong on each generation. For some reason the 
generator does not find my own main description of a class (in the /** ... */ 
section) and therefore uses the GNU header part. So each time I generate the 
api-doc, it says: class MyClass This program is free software ... etc.
It seems that having whitespace and or a newline after the final #endif 
triggers this, yet it also happened at certain files that reference 
eachother. The only solution so far was to remove the original files from the 
project, rename them, re-create the class in the IDE and copy-pasting the 
implementation.  Quite a lot of work, and very annoying by the way :-(
Once, it kept on alternating this between two classes, making it impossible 
for me to generate a good api-doc.
FInal solution was to use new header and cpp templates that donot use the 
/******************** string but the /*============= instead.

- I've not been able to tell kdevelop that the main 'program' is actually a 
library instead of a program. In the end, I had to manually edit the project 

- I cannot enter seperate settings for a sub-project. If I require linking 
with a special lib, I need to add this to the main program settings, while I 
donot want to, since it results in having the library loaded when the program 
is running! there goes all my work of loading plugins manually using ldopen!
In the end, I changed the and created special m4 macro's to get 
this working correctly (see attachements, please not I've never seen m4 
before so though it may not look much, it took me more than a day to write 
and I'm actually just happy it works!).
(To elucidate on this: I created a standard sql connection library, so I have 
the same interface no matter what database is being used! Therefore, for each 
database I create a seperate subproject which will be a plug-in at runtime. 
If I'm only connecting to a postgress database, I donot want any code and or 
libraries laoded into memory that are required for mysql! Hence, usage of 
ldopen and clear seperation of all extra includes and linking for each 
project and subproject)

- A few times now, I was running through compiler errors using F4 and the IDE 
suddenly resized to twice it's width. Had to minimize/maximize a few times 
before it allowed itself to resize again back to the original size. (I'm 
usually running the app maximized)

Feature requests:
- Could you make it default behaviour (or optional) that when I'm using 
kdevelop's option to make a distribution, it will also add my api doc! This 
is very important when creating libraries that have to be used by others.

- Could you make a shortcut key that allows me to toggle between the last two 
files i've viewed? This is very helpfull when I'm copy-pasting several times 
between two files, which now consists of a lot of actions. (I notices that 
for example ALT-ESC is still available)

- In the window section, I did not find an easy shortcut to access my opened 
files. Compare against the developer studio, which allows me to access them 
using ALT-W, 5   I am now forced to do ALT-W, arrow down 5 times, enter
I would appreciate it very much if I could use e.g. ALT-W <number> or even 
better ALT-W-letter.
This cuts down the amount of key actions drastically while navigating through 
my files.

- I haven't found a way to access the class tree via the keyboard. That too 
would be a nice feature.

- Being able to scroll with the keyboard keys in the messages pane would also 
be nice.

While those things I summed as bugs are just that (sorry, but it simply does 
not behave as expected) they are manageable, can be hacked around.
The interface feature requests are far more important to me. 
I've seen a colleague of mine who was merely 26 yeaers of age being condemned 
to sit at home and never to work again, due to what we call RSI (repetetive 
stress syndrome), whilst all of our team were plagued with severe physical 
discomfort as well.
The main part of the solution for us who remained, proved to be a very simple 
one: stop using the mouse and use keyboard shortcuts instead (which has the 
added bonus that it's also much faster :-) )

I think your product is great, but you have reached the stage that added 
functionality is no longer required to convince people to use it. I believe 
it is now time you focus on the interface; the ease of use and especially 
abolishing the mouse requirement, more so since this is an application people 
actually use more than 8 hours a day, 5 days a week.

(and thanx 4 making it in the first place)

Eric Methorst

Eric Methorst
arnlon at
MUD: telnet
-------------- next part --------------
A non-text attachment was scrubbed...
Type: text/english
Size: 1436 bytes
Desc: not available
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Type: text/english
Size: 2712 bytes
Desc: not available
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Type: text/x-makefile
Size: 1385 bytes
Desc: not available
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Type: text/english
Size: 1334 bytes
Desc: not available
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Type: text/english
Size: 1280 bytes
Desc: not available
URL: <>

More information about the KDevelop mailing list