Microsoft Vista Software | Microsoft Vista Books | Linux Books | Ubuntu Books | Ruby On Rails Books

Sunday, January 28, 2007

KDevelop 3.4 has been released

KDevelop 3.4 has been released, bringing many new features to KDE's Integrated Development Environment. The first major release in over a year closes more than 500 bugs.

KDevelop 3.4.x Features
  • Improved Qt4 support
    • 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
    • New Options for Qt4's QT variable in the project configuration
    • Handle Qt4 resource files in QMake Manager


  • Improved QMake Manager
    • New 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

    • New and Fixed Build options
      • Run qmake recursively
      • Dist-Clean
      • Build File



  • Improved debugger
    • Brand-new memory viewer
    • Project is automatically rebuilt with starting debugger
    • Variables widget
      • Reliably work in presence of shadowed variables
      • New "format" menu, supporting extra "binary" and "character" formats, with keyboard shortcuts for each format.
      • Keyboard shortcut for deleting watches.

    • Stack widget
      • The content is now 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 now 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 now work

    • GDB output window allows to filter out "internal" commands.
    • Face lift for "attach" dialog. Now it has 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.


  • Improved Ctags support
    • It is now possible to have multiple tag files active at the same time, making it possible to do lightning quick searches in external sources.


  • Improved UI
    • Simple IDEAl UI mode is now the default
      • It's faster and has less bugs
      • Takes less screen estate
      • The viewspace can be split, allowing KDevelop to show files side by side.
      • IntelliJ IDEA - alike toolview keyboard navigation (with <alt+1>, <alt+2>, etc.)
      • Better keyboard navigation and focusing



  • Improved Code Reformatting
    • Less bugs (updated to AStyle 1.19)
    • Support for all AStyle options
    • Improved option settings dialog
    • Global and per project settings
    • Format multiple files at once


  • C++ Support
    • 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 now 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 now completely works with nested classes that are forward-declared in one file, and completely declared in another(file-groups are managed now, and code-model-items that are physically from one file, can now be attached to another, so some search-functions had to be improved).

    • 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 now shows the members sorted by their access-rights, and shows a note behind members that are protected/private
      • Fixes the bug of KDevelop crashing while completing a class which has itself as base-class and a few other little bugs

    • new 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
      • bug fixes
      • creation of headers only



  • Class View and Navigator
    • 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 will now no longer close after each successful build


  • QuickOpen
    • Arbitrary parts of the scope can now be used as a filter while searching for classes or functions
    • Quick open class has an additional selection dialog for cases when more than one class with given name exist


  • Ruby Support
    • Rails application template
    • The parser recognizes classes in the modules
    • Use irb as a shell
    • Fix documentation TOC links so they work correctly for Rails and QtRuby
    • Use the Run menu option to start WEBrick.
    • the parser
      • recognizes "self.method"
      • does not loop in certain cases



  • PHP Support
    • New PHP Parser / code competition
    • Fix bugs in the php support language that cause some crashes


  • Konsole
    • Does not syncs with the active document dir anymore


  • Grep (Find in Files)
    • Define more filetypes (incl. ruby) to search within
    • allow pattern to be a regular expression


  • Outputviews
    • Support for Intel Fortran Compiler and Portland Group's PGI Fortran compiler (pgf90/pgf95)


  • Application Wizard
    • Uses utf8 for created files - no encoding problems anymore


  • Valgrind integration
    • Use the environment variables as set in the run options


  • Misc
    • Add toolbar and menu entry for "Goto Last Edit Position"
    • Improved support for encodings
      • KDevelop will now obey the selected encoding in the File Open dialog
      • The OpenWith plugin now offers all available encodings in "Open As"
      • The encoding for each open file is saved with the session, and will be used to open that file the next time the project is loaded
      • Default encoding can be set per project in the Project Options - this will be the default when opening a file
      • File Open encoding will default to the open project's default

    • Moved plugin selection dialog out of project setting dialog and into main menu Settings menu and made it profile-based
    • Use profile engine to specify the default plugin set for a freshly created or imported project
    • Honor the UI Designer embedding setting



Packages are available for Kubuntu and openSUSE with unofficial builds for several others on the download page

No comments: