| Feature | KDev 3.5.2 | KDev 4.0
|
| Support multiple build tools: | |
|
| autoconf/automake (a.k.a. autotools) |  |
|
| qmake from trolltech |  |
|
| CMake Cross Platform Make from kitware |  |
|
| Ability to use custom makefiles to build the project |  |
|
| Support for ant - build tool for java projects |  |
|
| Support for extra project types like pascal, haskell, ada and scripting projects |  |
|
| Can have multiple projects open at the same time |  |
|
| Each project can have multiple subprojects |  |
|
| Each subproject can have multiple targets |  |
|
| Native non-intrusive automake and qmake support. Hand-made modifications allowed and recognized by the IDE, also existing projects and subprojects can be easily imported |  |
|
| A framework for adding support for any build system by creating build system plugins for the generic project manager |  |
|
| New file wizard to manage file templates and create new files in project from templates |  |
|
| Can open KDevelop 2.x project files (automake based) |  |
|
| Can open KDevelop 3.x project files (any build tool supported in the 3.x versions) |  |
|
| Can open KDevelop 4.x project files |  |
|
| Feature | KDev 3.5.2 | KDev 4.0
|
| Parser which doesn't replace existing content in Makefile.am |  |
|
| support for creating multiple targets in the same subdir |  |
|
| support for setting include and linker options |  |
|
| support for create new subdirectories |  |
|
| support for creating normal and libtool-using targets |  |
|
| compiling individual targets or subdirectories |  |
|
| Compiler plugins to define compiler options in convenient dialogs |  |
|
| supports Qt projects using automake, including rules for moc and uic |  |
|
| Configuration profiles with the ability to specify different compilers, compiler flags, build directories, target architecture, etc. |  |
|
| Internationalization support, allowing translators to add their target language to a project easily, including support of KBabel |  |
|
| Feature | KDev 3.5.2 | KDev 4.0
|
| Parser which doesn't replace the project file contents |  |
|
| Parses and displays the Qt4 buildsystem properly |  |
|
| Scopes | |
|
| Display Scopes as tree nodes in the Overview |  |
|
| Add/Remove all types of Scopes (simple, Function and Include's) |  |
|
| Excluding files inside a scope is much easier |  |
|
| Support for disabling subprojects inside scopes, including proper display in the GUI |  |
|
| File Handling | |
|
| Support of relative filenames |  |
|
| Support for file paths containing variables |  |
|
| Supports Subproject that are outside of the top-project dir |  |
|
| Support for all documented and a couple of undocumented qmake Features |  |
|
| Supports SUBDIRS=somename, somename.subdir=the_real_dir |  |
|
| Supports SUBDIRS=somefile.pro |  |
|
| Build options | |
|
| Run qmake recursively |  |
|
| Dist-Clean |  |
|
| Build File |  |
|
| Feature | KDev 3.5.2 | KDev 4.0
|
| Many supported programming languages | |
|
| Ada |  |
|
| Bash |  |
|
| C/C++ |  |
|
| Objective-C (via C support) |  |
|
| Fortran |  |
|
| Haskell |  |
|
| Java |  |
|
| Pascal |  |
|
| Perl |  |
|
| PHP |  |
|
| Python |  |
|
| Ruby |  |
|
| SQL |  |
|
| XUL (unofficially) |  |
|
| Problem reporter which reports various "problems" with the source code as you type. Problems include language syntax errors, TODO's and FIXME's |  |
|
| Class browser to display a hierarchy of classes and other symbols in project |  |
|
| Add function-name-highlighting to the class-view and navigator |  |
|
| Make the navigator provide an own KCompletion so it is possible to write function-names without scope and get them completed |  |
|
| Restore ClassView state after refresh. The ClassView does not close after each successful build |  |
|
| Language parsers to feed class browser and problem reporter |  |
|
| Class, method and attribute wizards for object-oriented languages |  |
|
| Automatic code completion and code hinting for class variables, methods, function arguments and more |  |
|
| Source formatting, syntax highlighting and code folding |  |
|
| C++ specific features, such as | |
|
| "make member" - creating method definition in source file basing on the method declaration in header file; |  |
|
| "extract interface"- extracting interface (method declarations) and creating abstract base class with that interface; |  |
|
| "subclassing" - automated subclass creating and slot implementing for Qt Designer forms |  |
|
| Feature | KDev 3.5.2 | KDev 4.0
|
| switch header/implementation |  |
|
| works inside the single file |  |
|
| works correctly with methods with typedef'ed return values |  |
|
| works with constant functions |  |
|
| aware of using directives when locating the functions from the namespace |  |
|
| Persistant Class Store (Code Completion databases) |  |
|
| KDE class importer correctly finds kdelibs location |  |
|
| Qt4 class importer added |  |
|
| autodetected paths are overrideable |  |
|
| code hinting |  |
|
| status bar shows the type of the expression under the cursor |  |
|
| c++ parser |  |
|
| Modify the parser to extract comments from the code, attach them to corresponding items, and store them into the AST |  |
|
| Fix a case where the cpp parser suddenly ate all RAM when facing macro-heavy files |  |
|
| code model |  |
|
| make the code-model and repository store more information like templates and comments, and provide them |  |
|
| the code-model completely works with nested classes that are forward-declared in one file, and completely declared in another(file-groups are managed, and code-model-items that are physically from one file, can be attached to another) |  |
|
| code completion |  |
|
| is much more reliable |  |
|
| was rewritten in big parts |  |
|
| works within template-classes |  |
|
| works within functions of classes that are imported by using-directives |  |
|
| can parse much more complex expressions and can easily be extended to understand additional operators(using an abstract operator-class) |  |
|
| supports class-templates, function-templates, and even implicit template-instantiation for function-templates |  |
|
| evaluates all types in the completion-entry-list and shows their template-processed(real) types |  |
|
| calltips and the completion-list show the corresponding comments |  |
|
| the completion-entry-list shows the members sorted by their access-rights, and shows a note behind members that are protected/private |  |
|
| context-menus that evaluate the expression under the cursor and allow to browse the code and the code-model using all types and variables involved |  |
|
| new class wizard |  |
|
| creation of headers only |  |
|
| support for QT4, different code is generated for Qt3.x and Qt4.x projects |  |
|
| Specify Qt installation dir upon project creation |  |
|
| Properly open the right designer for .ui files |  |
|
| Call the right qmake in qmake projects |  |
|
| Use Qt4 style includes |  |
|
| Options for Qt4's QT variable in the project configuration |  |
|
| Handle Qt4 resource files in qmake Manager |  |
|
| Tab in the C++ options dialog to configure the used Qt library. You can configure if Qt is used, which major version and where the Qt library is installed |  |
|
| Feature | KDev 3.5.2 | KDev 4.0
|
| Language Features |  |
|
| Module, class and function list |  |
|
| Quickopen for modules, classes, functions (including those defined as and files |  |
|
| List of functions in the toolbar, also shows current function in the editor |  |
|
| Debugger |  |
|
| Ruby debugger with method inspection |  |
|
| Method inspection for QtRuby/Korundum bindings (including core Qt classes) |  |
|
| Unit Testing Features |  |
|
| Run test suite |  |
|
| Run test function currently opened in the editor |  |
|
| Rails |  |
|
| Rails application template |  |
|
| Run Webrick/Mongrel |  |
|
| Infrastructure |  |
|
| irb or script/console in the toolview in addition to konsole |  |
|
| QtDesigner/rbuic integration |  |
|
| documentation links to Rails/QtRuby docs |  |
|
| Ruby projects |  |
|
| Opens projects with cyclic symbolic links in the filesystem |  |
|
| Reload project function |  |
|
| App templates for normal projects, QtRuby/Korundum ones - KDE application framework, KConfig XT, DCOP server and Qt only apps |  |
|
| Feature | KDev 3.5.2 | KDev 4.0
|
| GDB and Java debugger frontends |  |
|
| Integrated GDB console |  |
|
| Line, address, method breakpoints and watchpoints |  |
|
| Conditional breakpoints |  |
|
| Disassembler and frame stack viewer |  |
|
| Variable watch tree |  |
|
| Memory, registers and libraries viewers |  |
|
| Debugger shell (libtool) support |  |
|
| Remote debugging |  |
|
| Memory viewer |  |
|
| Project is automatically rebuilt with starting debugger |  |
|
| Variables widget |  |
|
| Reliably work in presence of shadowed variables |  |
|
| "format" menu, supporting extra "binary" and "character" formats, with keyboard shortcuts for each format |  |
|
| Keyboard shortcut for deleting watches |  |
|
| Stack widget |  |
|
| The content is split in columns |  |
|
| Stack frames are fetched incrementally, allowing to debug programs stuck in infinite recursion |  |
|
| Breakpoints improvements |  |
|
| Breakpoint types renamed for clarity |  |
|
| Watchpoints are always set on address, not expression |  |
|
| On watchpoint hit, a message box is shown |  |
|
| Breakpoint conditions are correctly reloaded from session file |  |
|
| Breakpoints added manually are shown in breakpoint list too |  |
|
| Address breakpoints |  |
|
| GDB output window allows to filter out "internal" commands |  |
|
| "attach" dialog with search line |  |
|
| Fixes |  |
|
| Never disable the "Interrupt" action |  |
|
| Specify gdb location using full executable name, not just directory |  |
|
| Uses GDB MI interface for faster and more robust operation |  |
|
| Debugger breakpoints window made easier to use |  |
|
| Automatically show variables window when application stops, and hide when application terminates |  |
|
| Implement editing expression/variable values in variables window |  |
|
| Improved the variables view |  |
|
| Feature | KDev 3.5.2 | KDev 4.0
|
| Application wizard generates complete, ready-to-go sample applications. |  |
|
| Templates for each supported language and build system. |  |
|
| Ability to use custom application templates not included in the distribution. |  |
|
| A bunch of KDE related project templates (KPart applications, simple KDE applications, KControl modules, Kicker (panel) applets, KOffice parts, KIOSlaves, Konqueror, Noatun and Kate plugins and desktop styles), GTK, GNOME and Bonobo application templates |  |
|
| Uses utf8 for created files - no encoding problems anymore |  |
|