KDevelop Progress: Overview of New Features

The CVS version of KDevelop (a.k.a.
"Gideon") continues to improve, both stability-wise and in the feature
department. Several new features of interest include the ability to easily
attach the debugger to crashed applications inside KDevelop by clicking on a
button
in Dr. Konqi; the beginnings of integration of KCachegrind (screenshot) by Roberto Raggi, the programmer behind Gideon's solid C++ support; Qt
Designer file preview support (.ui) in the file selector; and support
for additional programming and scripting languages
such as bash.

Rumors of support for Palm PilotTM development also abound...

Dot Categories: 

Comments

by bjo (not verified)

Kdevelop is becoming a ultra awesome and very professional environment. Thanks kdevelop developers! there is nothing else quite like kdevelop for linux (except for ajunta, which is nowhere near as powerful as gideon is)

by Gerd (not verified)

Documentation howecver is crap...

by Philippe (not verified)

I'm a python developper and "support for additional programming and scripting languages" (like python) is great !! I was using kate, but I missed an autocompleter (which I found with Scite). By the way, Boa-Constructor is good ide too, but really too buggy :(

I have great hope with gideon !

by Ian Reinhart Geiser (not verified)

AFAIK both the class view and code completion works. The only thing really missing is code folding, but that is because we use kate, and its folding engine has problems with the python method of scoping.

This was just a quick update, I think php, and python support are both quite old, and I think are pretty stable.

Language support stands at:
Perl, Python (PyQt), Ruby, Fortran, Bash shell, Pascal, PHP, Java, C++, and ADA

In C/C++ we have GTK and GNOME support, along with Qtopia, and gameboy advance
In Java we have ANT support and SuperWaba support...

Man, its easier just to list the stuff we dont support ;)
(Actually docs is where we need help now, so if you like to write/translate come on over and give us a hand!)

Cheers
-ian reinhart geiser

by AC (not verified)

> Man, its easier just to list the stuff we dont support ;)

Sure? I miss support for Tcl, ECMA/JavaScript, Objective C, VisualBasic, Pike, Guile, Scheme, Lisp, Emacs Lisp, Prolog, Algol, Logo, Natural, C#, StarBasic, DOS Batch, ML, Modula-2, Modula-3, Oberon, C+, Managed C++, C with classes, OPL, QuakeScript, ActionScript, Lingo, INTERCAL, Forth and the good old COBOL.

by André Somers (not verified)

Supported or not, I won't miss them for a second! ;-)

by Ian Reinhart Geiser (not verified)

Got objC, C# i think is in development, I tried Forth, but gave up when i found it wasnt really useful in an IDE, C with classes?! you mean structs with function pointers? never heard of that one... TCL, sorta works, but again, has problems with ITCL...

So really unless you want to code in something like brainfuck, or RPL, KDevelop will do what you want...

Now if your pet language is missing and at least has a function like structure, then fell free to drop me an email, and I can show you how to add you pet language support. The reason I gave up on Forth, was, it seemed overly difficult to get variable scope for autocompleting... now, if someone actually knows how to do this feel free to pick up where I left off :)

Cheers
-ian reinhart geiser

by AC (not verified)

C with classes was the predecessor to C++.

BTW, i wasnt serious about all this. And I forgot B and BCPL. Shame on me.

by anon (not verified)

Gave me a good laugh, fo' sure.

by Bert (not verified)

Cobol? Waht about this KOBOL of THEKOMPANY? Cobol would be very nice. there are free compilers.

GNU ADA?

by Ian Reinhart Geiser (not verified)

As far as I know that is not a free/OSS project.

If you want to implement Cobol support feel free to drop me a line and I can walk you through it... Its mostly an afternoon of playing with regexps...

Cheers
-ian reinhart geiser

by André (not verified)

http://tiny-cobol.sourceforge.net/
http://cobolforgcc.sourceforge.net/cobolforgcc.html

Kobol is the founding planet of mankind. All Thirteen Tribes of man originated on Kobol, and they themselves founded other colonies, some close by to the Colonies, some light years away.
http://staff.bus.bton.ac.uk/fesg/bsg/colonials/kobol.html

by André (not verified)

From TheKompany's website

KOBOL = KOmpany Business Oriented Language

:-)

Its a shame no lispy languages are supported as of yet.

Luckily they are all similar syntactically, shouldn't be hard to do all of them easily once the basics are there.. .

Other languages that I actually do use are XSLT[1],
Haskell,
Objcaml,
R ( S+ really, stats language).

With all of these langs in Kdevelop, it'd be interesting to look at some interplay with language integration systems - SWIG, Corba, Mono, maybe even SOAP/XML-RPC - eg auto or semi auto coding proxies between languages ... hard to know how this would pan out, but worth some thought.

Another thing I'd love to see is the QT Designer properly componentised and embeddable in Kdevelop.

[1] an evil semi-functional language in XML form, seemingly the only corporately acceptable fuctional language. Shame that you can wrap something in sicko XML, make it worse than every one of its competitors, and *thats* the one that catches on.....

For R it would be better to have a SPSS like frontend.
Perhaps a ripped off spreadsheet with added functioanlity.

by uga (not verified)

"gameboy advance"? :-) ( I can't really be sure if this is a joke or not... you can expect whatever from the gideon developers! ;-)

by Ian Reinhart Geiser (not verified)

No joke man!

We have templates and full support, all you need to get is the cross compiler.

Cheers
-ian reinhart geiser

by uga (not verified)

!!!

Well... only one word: amazing. I'll have to see those templates in the next update, although I don't expect to use such a thing anytime soon :-)

The only thing I expect soon to get my hands dirty with, is Qt#... otherwise Gideon's c++ plus Qt is more than enough for my daily use.

by Mathieu Chouinard (not verified)

and Dreamcast, inform6 and other interactive fiction langagues are in the work.

by Erik (not verified)

> Perl, Python (PyQt), Ruby, Fortran, Bash shell, Pascal, PHP, Java, C++, and ADA

Do you mean Ada? If so, note that it is spelled "Ada" and is not an acronym, see [http://www.adapower.com/lab/adafaq/5.html].

by panzi (not verified)

What's up with Cg? (C for Graphics from nvidia)
shouldn't be that hard, but also shouldn't be that nessecery

by François Desloges (not verified)

The kate folding engine also has problems with latex methods of scoping.

See: http://bugs.kde.org/show_bug.cgi?id=54199

It would need to include many different ideas:
1) the most common delimiters-couple based: ( ), { }, [ ], begin{*} end {*}, if fi, etc...
nestability defined as an attribute
2) indentation based (think python)
3) "new-marker" based, with hierarchy (more complicated):
-Used for html, latex, etc..
-Folding at a level of the hierarchy fold everything under (much like nested
delimiters-couple)

The result would be something like this with a hierarchy where
part > section > subsection

- \part{a}
- \section{b}
- \subsection{c}
- \section{d}

- \part{a}
+ \section{b}
- \section{d}

+ \part{a}

by Christoph Cullmann (not verified)

Any help on improving kate part in that aspects are very welcome btw. ;)

by François Desloges (not verified)

Well I've gone as far as I could in http://bugs.kde.org/show_bug.cgi?id=54199

The basic idea is that in the context tag of the DTD, we need something
like may Regions that ends at once i.e. an attribute like:

endRegion="Part,Section,Paragraph"

Also, in a document to be code-folded, if one or many effective endRegion strings are found on the same line of a beginRegion string, the desired result would be for the precedent code to fold up to but not including this line. Once again, look at
http://bugs.kde.org/show_bug.cgi?id=54199 for more details.

Sorry, I have neither the time budget nor the computer budget to throw myself in the development of Kate :-(

by Thomas (not verified)

You know what? In the last few months I've seen a lot of work going on in the 'integration' dep. Once stand-alone apps are integrated into major big projects.... We've seen single applications like kmail, korganizer,... maturing over a long period of development. Now integrated into an even bigger project... kontact
KCachegrind is now integrated into KDevelop... KDevelop uses Kate as it's Editor 'component'... It's simply amazing how all these 'components' fit to each other... It's like watching the construction of a big building...
I think KDE really shines in terms of 'code reusability' and 'component architecture'.
...'nough praise for now..

by Andras Mantia (not verified)

Completely agreed and 100% supported. Go ahead, try and use Gideon. Aside of some small annoyances I think you will be amazed. Personally I like it very much. :-)

Andras

by Ian Reinhart Geiser (not verified)

Please report those small annoyances at http://bugs.kde.org!

These bugs all get posted to the devel list and are discussed/fixed.

Cheers
-ian reinhart geiser

by Eric Laffoon (not verified)

> Please report those small annoyances at http://bugs.kde.org!

[chuckling]

Maybe you didn't read the signature line... Andras not only reports those bugs but he's fixxed some including one that had been a mysterious annoyance to developers for something like two years. Andras also keeps Quanta at the bottom or off of the list of the top 100 KDE applications for bugs on Bugzilla. ;-)

Cheers,
Eric

by Jan (not verified)

I haven't been able to figure out so far: Where / How do I add
user defined icons for the toolbar of my application. Do
I have to copy them in some special folder? Where in the XML-GUI
file to I choose which icon file should be used? Hour of reading
through the QT and KDE documentation and I haven't been able to find
a solution. This is really frustraing, because this is the last thing I would
need for writing some basic (but complying to the standards) KDE application.

by Chris (not verified)

http://developer.kde.org/documentation/library/kdeqt/kde3arch/iconloader...
explains where and how to install additional icons.

Icons are a KAction propertie. You specify the icon when calling the KAction constructor or with KAction::setIcon. I don't think you can override a KAction icon in the XML-GUI file.

by Jan (not verified)

Thanks! I wonder why I haven't found that page before...
I will try this out as soon as possible.

by Strider (not verified)

Just wanted to drop a line of support to everyone associated with Gideon. KDevelop is quickly becoming the best IDE available, in any environment . The amount of work you guys have completed along with the quality of that work is just astounding. Thanks for all of it and keep up the good work. I use Gideon almost every day and yet I consistently find ways in which it makes my work easier and easier.

Strid...

by Rodolfo (not verified)

Its great to hear that KDevelop is increasing its features, with the integration for previewing ui files in Designer it gets a nice feauture :), and i hope it improves also in the tabbing area where it still lacks just a little :(....still for many years kdevelop has been the leading linux IDE and sure it'll continue to be !!!

Cheers...

by nac (not verified)

Normally, I would piss and complain about the UI..
(small example: those terrible splitter-window-like-bevels at the sidebars are even drawn when the theme doesn't do that for normal splitter windows)

But I'll have to make an exception for this awesome IDE, I just can't whine about it.
I've been using it for one full week now (the cvs version), and it made my life much easier compared to the old multi-terminal/code/make/execute/cli-command way of doing things.

Just a few questions though..

- Does the latest cvs version already generate that database for auto completion and stuff automatically?
(have to do that using r++ currently, or use the older ac stuff..)
- Will there be some intelli sense -like feature some day? (ie. lingering over a variable should give a tooltip with the type of the var)
- Is there some way to decrease the popup/response time of the auto completion dialog?
(takes too long to popup, I'm typing too fast :)

And this one should actually be posted @ kde-zilla, but I'm a bit lazy atm so here goes:

- There's currently a tab that shows the programmer all kinds of typing mistakes and all that, which is done by compiling in the background.
Could that be changed into something more visual?
(eg. Use those red understriping lines from the well known word processors to show off typos)

by Rischwa (not verified)

>- There's currently a tab that shows the programmer all kinds of typing mistakes and all that, which is done by compiling in the background.
>Could that be changed into something more visual?
Try pressing F6, or enable "show iconborder" in the editor settings ;).

Yours,
Rischwa

by nac (not verified)

Doesn't that icon border only show stuff after doing a build?

(what I meant seems to be done in real time, which would be more useful with those red underlined words)

by Rischwa (not verified)

If you would have pressed F6 for testing, before posting, you would have known better ;)

Yours,
Rischwa

by nac (not verified)

Didn't have the needed stuff running ;)

I still think red lines would be more visible though, but this is already better than what MSVC6/7 and Anjuta do, so.. :)

by Bippo (not verified)

I feel those red lines really would be useful, perhaps in addition to the icons bar because the icon is globally oriented to the whole line.
Yet I do not want my sources being cluttered by all red lines. Showing red lines on demand, e.g. when clicking the icon, would save some time however, especially in complex circumstances.
One could even go further down on this idea, providing a chain of dependend errors by clicking any of those red lines...
Well, this is utopia for now...

by Bert (not verified)

Will the work on usability list be incorporated into qt designer?

The programmers seemed to show a lack of interest for changes.

Support of Pascal? GnuPascal or FreePascal?

by Ian Reinhart Geiser (not verified)

>Will the work on usability list be incorporated into qt designer?
No it will not,thats TT's project

>Support of Pascal? GnuPascal or FreePascal?
Its in there.

Cheers
-ian reinhart geiser

by Alexander Dymo (not verified)

> Support of Pascal? GnuPascal or FreePascal?

It is already available (for now without class browser and code completion but they will be available till the 3.0 release).
For free pascal there are some project templates (including gtk app) and compiler options dialog - i've implemented all known options but if you find missing one fell free to bug me ;).
GnuPascal should work but there are no compiler options dialog - i can't get a usable installation of gpc.

by Alex (not verified)

What is the best PyQt IDE?

And which is better, KDevelop or Eric 3 (http://www.die-offenbachs.de/detlev/eric3.html) for PyQt development?

by Ian Reinhart Geiser (not verified)

Hrm... thats a tough call.
Eric has a debugger and code folding... Other than that they are equal.

Cheers
-ian reinhart geiser

by Alex (not verified)

Any estimate on when those features might be incorporated into Kdevelop. or maybe tehy can be added as plugins, just take the code from Eric.

by Faeltir (not verified)

Wing (http://www.wingide.com/) has code folding, a debugger, code completion with a parser (that will complete imported modules and do other nice things). Unfortunately from a hobbyist perspective, it is commercial.

What may be of more interest is that the parsing part of Wing is open source, so it may be feasible to add it to e.g. Gideon.

I use PyQt in a commercial environment (yes, really!) and thus far Wing's code completion support puts it above other IDEs for me. It doesn't integrate the documentation etc. but I don't mind running the assistant "on the side".

by Shyru (not verified)

Great news! I loved KDevelop before, and Gideon is even better! Can't wait to get a new CVS Snapshot running... :-)

I have one question though:
Would it be difficult to add some nice and easy to use wxWindows templates??? How would/could this be done?

by Amilcar Lucas (not verified)

Take a look at parts/appwizard/cpphello to see a template example

by bob (not verified)

I know this is off topic but the screenshots looks really great and it's been pretty quite lately, is it dead or what? it is said to be released this summer http://www.kbasic.org/1/home.php3
any news about it and will it be supported by kdevelop or maybe integrated?

thanx
bob

by fault (not verified)

kbasic has been around for a very, very long time, as long as perhaps kdevelop has been around-- however, it's been marred by periods of deep and long inactivity. The eight months has been such for the kbasic project.

You might want to try Gambas or hbasic though. Both are actively maintained and nice Basic (VB-type) environments. I haven't tried either of them out, but based on screenshots, they look pretty damn cool.