Progress in non-cpp KDevelop4 land
Has been a time since I wrote the last update for PHP / webdevelopment related work in KDevelop4…
XDebug
First of all, Niko (nsams) is working diligently on the general debugger framework for KDevelop4. Of course gdb is still the main focus so far yet he always has his XDebug plugin (which is currently unusable) in mind. So expect some great debugging features once he’s done with the framework.
Remote Projects
Another thing I’ve not yet written about is a bunch of commits I did just after the Hackaton: Remote Projects! Yes, finally you can work directly on the server with KDevelop. I still have to make sure that the user does not try to open a remote cmake project (or similar), because that is of course not supported. Only the Generic Project Manager (basically a list of files in a dir) works. There’s for sure some things to polish, yet I’d like to see user feedback for that use-case at least.
Note : There is still some functionality missing in other areas, like creating a new remote project from a template etc.
Out-of-class declarations of member variables
The PHP plugin itself got support for some more code, like declarations of members variables outside the class context which was reported by one of our early adopters ( hint hint - do the same! we need more wishes and bug reports!).
Improved DeclarationBuilder
Additionally I changed the logic of our DeclarationBuilder so it does not create a new variable declaration for each assigment expression. I think this makes refactoring, use-highlighting etc. in a PHP environment much better for many cases. Sadly it is not yet perfect since we still need to redeclare variables when their type changes. Fixing that would require potentially big changes to the DUChain and I’m not sure when it will happen.
Error Reporting
Furthermore I’ve added some more inline error reportings, namely for redeclaration of $this
in a class context. This is also an area where you might help us a lot: Send us PHP snippets which fail when executed but are not yet highlighted in the editor. I’ll try to add them then. Just use the bugtracker on http://bugs.kde.org.
Performance
Also David (dnolden / zwabel) of Cpp-KDev4 fame made some changes which resulted in a good performance win. Thanks!
Comments
Want to comment? Send me an email!
Comment by Rian Orie (not verified) (2009-07-08 00:07:00)
Didn’t even find the code browser until reading this.. that’s just amazing! I’m lovin’ it, although I do have the bug where it doesn’t index my whole project even with that checkbox tagged.
Milian, I do have some bugs to report, nothing that stops me from developing in kdev4 though.. but when looking at bugs.kde.org I have a real hard time figuring out how to get a list of reported bugs. I’d like to try and not create duplicates. Is there a direct link to a list of bugs?
Thanks a ton! -R
Comment by Milian Wolff (2009-07-08 10:43:00)
Just use the wizard to report a bug. At some point it will show you a list of bugs which could be duplicates, based on your bug-title.
And if you missed something, we will triage it and mark it as duplicate. No worry.
if you want to make sure, you could also ask on Freenode in #kdevelop whether that bug/crash/wishrequest is already reported or not.
Comment by Luca Gambetta (not verified) (2009-05-28 15:20:00)
Thank you, that was what I wanted. :D
The full-project-parsing seems not to work here (kdeveplatform 0.9.93, kdevelop 3.9.93). I checked the “Setting -> Project Settings” “Schedule all project file for parsing”, but it doesn’t work. I noticed that the “Stop Jobs” toolbar icon is highlithed with “process 0 files in” option in the submenu (if I toggle the toggle-icon).
Comment by Andreas (not verified) (2009-06-10 12:14:00)
Got the exact same problem. Any news on this? When this is fixed I will be using kdevelop4 full time :-)
Comment by Luca Gambetta (not verified) (2009-05-28 10:01:00)
Hi! I wanted to try PHP support on large project, but… it’s me or there isn’t support for importing existing project files? Yes it imports correctly files if I specify a root directory (ie. if my prj dir is called ‘webapp’ into ‘/webworks’ I must set ‘webapp’ as Project Name and ‘/webworks’ as location, then it prompt if I want to continue), but it doesn’t import my classes declarations. If I go to “All projects classes” it is empty unless I open a file, then the class declaration appears. It is normal?
Comment by Milian Wolff (2009-05-28 13:30:00)
First to “import” a project, just do “open project” and select the folder of your project. What you did sounds like you created a new project. Oh and for PHP projects use the “generic project manager”.
Regarding classes in the class browser: That’s normal. You can enable full-project-parsing via KDevelop Settings -> Project Settings. I think that’s what you are looking for.
Comment by Rob (not verified) (2010-01-29 12:59:00)
Directories and files below the project directory are parsed fine for me (although I had to create a symlink from ~/projects/my_project_name/foo to where my actual code tree lies). However, the include path is scuppered, and I can’t figure out how to set this up.
eg I’ve got trunk/lib on my include path so I can just do require_once ‘bar.php’ from my code, but because I can’t find out how to set the include path in kdevelop, it can’t find the file…
Any help much appreciated.
Comment by Milian Wolff (2010-01-29 13:45:00)
please ignore the error reports about not-found includes, we really have to implement custom include-path settings…
Comment by mk5mk5 (not verified) (2009-05-28 08:54:00)
Great news - I am really looking forward for the next kdevelop release! In particular I am curious about the new PHP support… thanks a lot!
Comment by Anonymous (not verified) (2009-05-28 01:05:00)
Id love to see this xDebug plugin coming out soon ! Thats one of the main features missing in all OpenSource PHP IDE I know about on linux. I’m still waiting for this feature…
Keep us posted on this plugin !
Comment by senkal (not verified) (2009-05-27 21:48:00)
I am beginner php developer and i mostly use kdevelop. Earlier i used Quanta(kde 3 version) and unfortunately there are many features which kdevelop4 doesn’t have compare to quanta. However, i’m gonna use kdevelop4 and i’m excited about every change new php feature. Keep up the good work ! PS. Sorry for my English.
Comment by Milian Wolff (2009-05-28 13:28:00)
Could you maybe write down some of the features you miss most? Just do make sure they are not forgotten.