Wednesday, November 4, 2009

KDevelop Php Plugin Beta1

Today KDevelop Beta6 and Php Plugin Beta1 released.
I'm really excited about that as we have been working on it for quite some time now. Not that we are finished - it's just a first useable version. I'll try to do use it for php coding here at work.

» Download now
and give us feedback.

Monday, November 2, 2009

Web Development and KDE4

KDE3 had pretty good applications for web development, the most prominent and useful Quanta3 (actually I'm still a power user of Quanta3). The KDE4 version of Quanta (Quanta4) will be a major rewrite, based on kdevplatform, the base of KDevelop4.
While KDevelop4 just will have it's Beta6 release soon and is usable for daily work, Quanta4 is unfortunately not.

Well, no problem, you might think - just use Quanta3. But for many people it's not:
  • Kde3 packages are considered as legacy by distributions and will be dropped sooner or later
  • some distributions don't ship all packages needed for a full featured Quanta3 (eg missing kio-slaves - no fish://)
  • a Kde3 application doesn't integrate that well - it's more like a Gtk application in a Kde4 session

Let's look ahead to the future of Quanta4:
As it's more or less a rewrite and not just porting the old code we have a lot of work to do. The major Quanta3 contributors Andras and Eric don't contribute anymore, so development is more or less on hold. But wait - Quanta4 is based on the same kdevplatform as KDevelop4 - right? That means any KDevelop4 plugin is a Quanta4 plugin. And a lot happed for those KDevelop4 plugins:
  • php language support (that one really rocks)
  • php documentation (very useful)
  • script executor (execute scripts within KDevelop; needed for debugger)
  • browser executor (open external browser; needed for debugger)
  • xdebug debugger support (upcoming plugin for debugging php)
So active development happens for Quanta4 - we just use all KDevelop4 for testing the plugins.

If you use Quanta3 for php development, give KDevelop4 a try! The first beta release will get released together with KDevelop4 Beta6 the next days.

Sunday, October 18, 2009

Gdb Qt pretty printers

The recently released gdb 7.0 adds a really great feature: python scripting for pretty printers. It makes it really easy to write pretty printers for any class.
Basically it's the same as QtCreator supports, however with a few differences:
  • also works in plain gdb on commandline
  • no compiled debug-helper library needed
  • a gdb-only solution
Example showing a QStringList:

Of course everything can be combined, as seen here:

Currently supported classes are: QString, QByteArray, QList, QMap, QDate, QTime, QDateTime

The code can be found in KDevelop git (gdb plugin uses them by default). For using in cli you need the following in ~/.gdbinit:
python
import sys

sys.path.insert(0, '/home/niko/kdesvn/kde-git/kdevelop/debuggers/gdb/printers')
from qt4 import register_qt4_printers
register_qt4_printers (None)

end
set print pretty 1

Gdb also supports autoloading the pretty printers - they could be included in -dev packages. The merge request that would add it to qt is still pending.

And now I'm off watching an episode of dexter :D

Sunday, October 11, 2009

Quanta4 xdebug plugin

Hi Planet,

first, a short introduction: My name is Niko Sams, I'm from Austria. I have contributed to KDE for a while and ever since I planned blogging about - so here I am.

As a web developer and KDE user I need a good IDE. I use the great Quanta3 for years now, but it's dead now. So I started contributing to Quanta4 - well indirectly though various kdevelop plugins - those all will be used by Quanta4.
Yes - Quanta4 is not dead - we just need time (and developers).

What I've been working on recently is a XDebug (php debugger) plugin.


I started on this quite some time ago by creating a generic debugger infrastructure for kdevplatform - and port the kdevelop gdb plugin to that. In kdevelop3 every debugger plugin had it's own set of toolbars, views and everything - you can imagine how this looks like when you have 3 debuggers installed :D

For kdevplatform the common actions and views are now shared across debuggers.

Another important part was the new launch framework apaku introduced, with that we can have one Run » Launch Debug action that works for all debuggers. (Perhaps someone remembers the "Debug - Not yet working" action we had at the time of our latest KDevelop hack sprint)


You can follow the development here:

trunk/playground/devtools/kdevelop4-extra-plugins/xdebug
(for now only debugging local cli php scripts is supported)