|Version Control: Link|
Depends on KDE 4.x
|Submitted: Jan 30 2012|
Updated: Apr 21 2013
This plugin is intended to simplify the hard life of C/C++ programmers who use Kate to write code.
It has C++ code completion (clang based), #include files completion, smarter replacement for standard Open Header plugin, and few other neat features (check README for details).
Unfortunately currently there exists only a live-ebuild for Gentoo systems and right now I have no plans to make packages for other distros...
NOTE Yeah, this is former Kate Include Helper plugin with a bunch of new features, so I decide to rename it. (sorry, you have to fix your configured sessions, see README for details).
Thanks to mrbit for ArchLinux package. :)
* open header files using F10 key
* push '#include' directive w/ current file name into the clipboard, so it would be easy to switch to another document and just paste the whole #include line...
* finally it has auto-completer for path and file name for strings w/ '#include' on a line! Yeah, now it's really easy to type and find a required header...
* check if #included files are really available in configured paths. If some doesn't, then mark such lines w/ an error background. In case of multiple matches, mark it w/ a warning backgorund color.
* configuration dialog extended w/ new options
* fixed a bug w/ reading a global config after the plugin gets enabled
* a bunch of refactorings since 0.3
* open dialog w/ currently '#included' files, if unable to open a file under cursor
(or cursor not on a word at all)
* remove duplicates from completion list (for out of source builds and if both, source
and binary dirs are in the search list, it led to duplicates)
* watch configured directories for changes and update '#include' files status
* build system support has improved and refactored, so now it is possible to generate a source tarball and turn unit-tests compilation OFF (to avoid unnecessary for end user boost dependency)
Version 0.4.3 (hot fix release)
* make directory monitoring optional and configured via plugin's *Other Settings* configuration page
cuz it may leads to high resources consume
* if a file going to be opened is inaccessible for writing, then open it in RO mode, so implicit modifications
(like TAB to space conversions or trailing spaces removal) wouldn't annoy on close
* fix a nasty bug with a path remove button from config dialog
* add an action to switch between header and implementation file, just like an official Open Header plugin but smarter ;-)
* initial implementation of (fair) C++ code completion (clang based)
* added clang detector (also tested w/ Ubuntu 12.10)
* fix cmake files for unit tests building
* fix a bug when parse #include directive
* fix live ebuild to require clang
* added session '#include' sets. Now it is possible to save session's #inclue paths and reuse in other sessions, so configuring sessions will takes less time. Also one perdefined set shipped: Qt4 -- based on #include paths detected when this plugin get compiled.
* added UI to ask `g++` or `clang++` compiler (if found in `PATH`) about predefined `#include` paths, and append them to _System Paths_ tab.
* other UI cleaned up a little as well
* display optional parameters and some information in completions list
* add completion items highlighting
* add completion items sanitizer: some complex template types can be replaced with shorter equivalent. For example 'std::basic_string < char >' to 'std::string'. This feature help to reduce width of completion popup for STL types. Also some boost types ('boost::variant' and MPL sequences) are supported.
* completers registration refactored and bug with absent completers for C++ code from file templates is gone finally
* insert kate templates when execute completion item, so user may see and edit parameters required for a function call
* tooltips over highlighted `#include` lines displaying a reason
* there is no ambiguity if user types `#in` -- it can be only `#include` directive (`#include_next` is a really rare case, and I wrote it about 5 times in my life), so automatic completer added for this case.
* speedup getting code completions
* enable automatic completions popup when member accessed
* `#include` explorer has been added. It can hihglight "redundand" headers included in a translation unit.
* copy `#include` to clipboard improved (and recent bug has fixed)
* disable C++ specific actions for non C++ documents
* tree builder refactored in `#include` explorer, now everything is Ok w/ tree structure
* add a list of file extesnsions to be ignored by `#include` autocompleter (per session)
* fix regression with header file presence checker
* some code cleanup (before going to make a branch for indexing feature implementation)