Some feedback.
Eric Methorst
arnalon at xs4all.nl
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.
Bugs:
- 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
file.
- 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 configure.in 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.
Sincerely,
(and thanx 4 making it in the first place)
Eric Methorst
--
Eric Methorst
arnlon at xs4all.nl
http://arnalon.dhs.org
MUD: telnet arnalon.dhs.org:5000
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mygenpath.in
Type: text/english
Size: 1436 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kdevelop/attachments/20020215/835e3a93/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: configure.in
Type: text/english
Size: 2712 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kdevelop/attachments/20020215/835e3a93/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Makefile.am
Type: text/x-makefile
Size: 1385 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kdevelop/attachments/20020215/835e3a93/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Makefile.am
Type: text/english
Size: 1334 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kdevelop/attachments/20020215/835e3a93/attachment-0003.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Makefile.am
Type: text/english
Size: 1280 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kdevelop/attachments/20020215/835e3a93/attachment-0004.bin>
More information about the KDevelop
mailing list