OCT
26
2010

KDevelop 4.1 Brings Git Integration

Roughly half a year and over a thousand commits after the first stable release, the KDevelop hackers are proud and happy to announce the release of KDevelop 4.1, the first of hopefully many feature releases. As with the previous bugfix releases, we also make available updated versions of the KDevelop PHP plugins.

KDevelop 4.1 is more stable and polished than 4.0; we suggest everyone should update to this new version.

Here are some statistics to show you how active the last months were for us:

Package Commits since 4.0 Diffstat
KDevplatform 752 438 files changed, 14208 insertions(+), 3775 deletions(-)
KDevelop 371 227 files changed, 7342 insertions(+), 4664 deletions(-)
KDev-PHP 117 75 files changed, 2467 insertions(+), 901 deletions(-) (excluding generated files)
KDev-PHP-Docs 11 12 files changed, 78 insertions(+), 43 deletions(-)

New Features

KDevelop 4.1 comes with a list of new plugins and feature additions, which explains the growth of the KDevplatform codebase.

Git


Git integration (click image for larger version)

In addition to the SVN and CVS integration that was already shipped with KDevelop 4.0, KDevelop 4.1 finally supports Git natively.

That means that we have support for the basic features for management of a VCS-controlled project, like moving, adding and removing files inside the project. Additionally we integrate the basic VCS features like comparing and reviewing local changes, sending our changes back to the server, updating the local checkout and annotating files.

Additionally, there are two features that are unique to the Git support, which are Branch Management and Stash Management. The former lets the user switch branches easily, while the latter can be used to stash the current project changes in case there's something else to work on first. (For more information, check "git branch" and "git stash" help pages).

Screenshots and more information can be found on Aleix Pol's website.

Patch Exporting

Whenever you're reviewing your changes, e.g. by comparing to a remote VCS server, you are now able to ask KDevelop to publish your changes using different methods like e-mail, pastebin or ReviewBoard. This can be considered the first social feature in KDevelop and we hope to see more of these in the future.

External Scripts

If you used to run scripts through an external console, KDevelop 4.1 now has a plugin just for you: The external scripts plugin lets you run arbitrary shell commands or external tools directly from inside the IDE. You can pipe editor contents into those tools and/or let your editor contents be replaced by the outputs of the external command. Alternatively, you can just see the output in a toolview.

This is a useful addition to Kate scripts, and makes it simple to compile simple "Hello World"-style applications, support arbitrary build scripts or run external helpers like linters, beautifiers. Or you could use it to paste selected text to a pastebin server. As you see, this plugin should increase the versatility of KDevelop greatly and help users of software that is not (yet?) integrated into KDevelop natively.

Screenshots and more information can be found on Milian Wolff's website.

Project Fetching

With KDevelop 4.1, you are now able to import remote projects and start working on them directly. You can transparently create a local checkout of a SVN or CVS repository or clone a Git repository for example. For KDE projects, there is even a special provider that simplifies it even more to checkout a module to start working on it.

More information and screenshots can be found on Aleix's website.

Hex Editor


Hex editing in KDevelop (click image for larger version)

Developers who work on input and output of files can now view and edit all files as raw data directly in KDevelop simply by selecting "Open as Byte Array" in the context menu of all file listing sidebar tools, thanks to the new Okteta plugin for KDevelop. It reuses the components of the Okteta program and in this first version already makes many of them available, including the great Structures tool.

PHP 5.3 Support

The PHP plugin for KDevelop has seen some work to support PHP 5.3 features. It now supports new syntax like goto, late static binding, closures, nowdoc and quoted heredocs, and namespaces. The latter is not yet perfectly supported, but this should improve over time.

More

There have been many more internal changes to the KDevelop codebase making it more robust and stable than ever. The features you found in KDevelop 4.0 have been polished and are better than ever.

Here is a list of some noteworthy bug fixes, but keep in mind that over 150 bugs have been fixed since the 4.0.0 release!

  • Running/debugging applications that produce lots of output does not hang the UI anymore
  • Project management is more robust
  • Improved CMake support: notably increased performance and the project tree not collapsed on CMakeLists.txt edits
  • Fixed a common crash on shutdown (which never resulted in data losses but was very annoying)
  • You can now select messages from the Build, Execute and Debug toolviews and copy them to the clipboard

Get It!

We invite everybody to get a copy of the source code from KDE mirrors or install packages from distributions. We wish you all many happy hacking hours. If you run into problems or have questions, do not hesitate to contact us either in #kdevelop on freenode, via Bugzilla or on our mailing lists.

Comments

I really like that project import stuff. It should make it painless post move-to-Git for KDE 4.7 development to try using KDev instead of my usual Kate + Konsole environment. Thanks guys!


By odysseus at Tue, 2010/10/26 - 12:07pm

Completely agree! I think it's one of the most brilliant integration features in KDevelop I've seen! :-)

I think KDevelop 4 is an awesome IDE, and something we can all be proud of! I love to see more of it coming to KDE! :D


By vdboor at Thu, 2010/10/28 - 12:00pm

I am using KDevelop for several years and really like it. The kdevelop 4.x series is a big leap forward. Its understanding for C++ is superb and programming with such support is a pleasure.

In particular, I like that KDevelop's parser understands the meaning of the underlying objects. Auto-completion just works (which saves a lot of time), refactoring is extremely helpful (and a real time-saver, too) and the syntax highlighting is very well.

The only problem I had with the 4.0.x series were random crashes here and there. However, using the 4.1 betas these seemed to be solved.

Thanks a lot for your hard work and dedication--KDevelop rocks!


By mkrohn5 at Tue, 2010/10/26 - 6:12pm

It's a pity that I cannot try it in KDE 4.4


By Konstantin Tokarev at Fri, 2010/10/29 - 5:51pm

Why? KDevelop 4.1 does not require KDE 4.5, you can use it just fine!


By Milian Wolff at Sun, 2010/11/07 - 12:43pm

You're right, it works for me!

What is the status of QMake plugin? I'm trying to compile it with KDevelop 4.1 and KDevPlatform 1.1.0, but get error about missing "project/abstractfilemanagerplugin.h"


By Konstantin Tokarev at Thu, 2010/11/18 - 12:55pm

I have had the same problem, I will try to find what I did.


By Francis Bouchard at Fri, 2010/11/19 - 4:43pm

What is the status of QMake plugin? I'm trying to compile it with KDevelop 4.1 and KDevPlatform 1.1.0, but get error about missing "project/abstractfilemanagerplugin.h"

AD user management


By larsen at Sun, 2010/11/21 - 4:40pm