codelite 4.1 is ready for download
You can download it from here:
https://sourceforge.net/projects/codeli ... elite-4.1/
Windows users:
If you choose to install codelite without the MinGW / wxWidgets packages, make sure you update your mingw32-make.exe executable with this one
http://codelite.org/download/mingw32-make.7z
If you don't replace it, codelite will not be able to use the -jX option of the makefile (hence compilation will be slower)
Changes from 4.0:
Enjoy,====================================
codelite 4.1
====================================
Main changes:
-------------
* MSW:
. codelite is now built with multilib wxWidgets library instead of the monolithic version
this change is done to enable a faster loading time of codelite on startup
. Updated wxWidgets to the official released wx294 version
. updated MinGW's make utility
* All:
. "Symbol View" is now deprecated infavor of the "Outline" plugin
. clang code completion improvements:
> codelite now uses codelitegcc to extract the compilation flags per file
for this to work properly, a full rebuild of the workspace is needed (only once).
the new approach is working for both custom and standard builds
> with codelitegcc approach, clang completion is working 100% of the time without any assumptions
and user intervention to add flags (the idea is simple: if your code compiles, clang can code-complete it)
. codelite's Makefiles are more standard (they are now using the standard CXX, CC, AR, CFLAGS and CXXFLAGS variables)
Detailed changes:
-----------------
* CallGraph: the image can now be mouse-dragged and zoomed (Michal Bliznak)
* CallGraph: Removed margins (Michal Bliznak)
* Parent some orphan messageboxes, so that they don't sink under other windows
* New Class wizard: Make the filename of the generated files editable.
* New Class wizard: Previously the textctrl holding the autogenerated name was disabled. Now the value can be altered by the user.
* Also changed the order of the textctrls, putting the essential Virtual Directory one above the Generated Files Path, which gets autofilled with the VD's path. Improved the tooltips.
* Call-graph: Become custom-makefile friendly
* Change the functions used to get project info to ones that seem to work in either situation; look also in the binary dir; and, failing either, ask the user.
* Fixed: regression in Copyrights plugin (the functionality only works from the Main Menu)
* Callgraph: Changes to help make more of the graph visible (Michal Bliznak)
* Updated cppchecker to the much-more-recent v1.54
* Updated codelite_cppcheck project with the latest cppcheck sources
* Callgraph: Make much more of the graph visible at a time (Michal Bliznak)
* More NewClass wizard improvements.
+ Honour the project/workspace setting for use of tabs versus spaces.
+ Make it possible to use .hpp as the header file ext.
+ Formating and useability improvements.
* Fixes most of FR 3534248
* Correct and update the C++ keywords lexor.
* Remove 4 words wrongly included, and correct 'Sizeof' to 'sizeof'. Also add the new C++11 keywords.
* Fixes #3536020 and #3536021
* Fix for parenthesis autocompletion.
* If 'Autocomplete Braces' is set, when the user types '(' a matching ')' is auto-provided; but only if the next character is white-space. This worked as desired most of the time, but was suboptimal if the next char was an already-matched ')'; see http://sourceforge.net/tracker/index.ph ... tid=979960 for an example. The code now checks for this.
* CallGraph: Fix trivial compiler warning
* Fixed: Subversion plugin should stop prompting when deleteing a file which is not under source control
* Subversion2: Fix an assert when creating a new workspace
* CppCheck: Add more features
More of the cppcheck tests and features are now implemented; in particular it's now possible to suppress particular warnings.
Cppcheck is now available from the editor context menu, and its 'Settings' are available from all relevant menus.
* Find menus by id, not by name this is not only easier, it avoids being broken by translations.
Should fix http://codelite.org/forum/viewtopic.php?f=11&t=1745
* The workaround for http://trac.wxwidgets.org/ticket/10883 is now in wx trunk; so don't apply it a second time as this produces a different error.
* Fixed ContinousBuild plugin (michalb)
* Compilation fixes for wx2.9 stl builds
* Use wxKill to terminate an executed program via codelite (instead of using native API calls)
* Fixed: debugger: editing the debugger tooltip selected expression is now working once again
* Fixed: subversion: fixed regression: adding a new file to a project now adds it to SVN (if the project is under SVN)
* Fixed: compilation error when compiled against GCC 4.7.1
* API change: Added new event that notifies plugins when a retag operation is completed
* Added wxCrafter icon to codelite's known mime type
* Added WXDLLIMPEXP_FWD_ADV to the CC ignore tokens
* Register wxCrafter ICON to the FileView
* API change: Added new event wxEVT_NOTIFY_PAGE_CLOSING (of type wxNotifyEvent) which is fired for
pages of type != IEditor. This event can be vetoed
* Fixed event missmatch under GTK incase the editor main notebook has a child of type wxNotebook
* API change: Added new plugin API to set / get the selected editor's tab title
* Changed some of the Notebook API to be 'const'
* Fixed assertion on Linux when adding SVN tab with invalid index to the workspace notebook
* API change: Added new event 'wxEVT_CMD_PAGE_CHANGED' which is sent by codelite incase the selected page in the main notebook is changed AND it is not of type IEditor*
* New Class Wizard: open the generated class files when code generation is completed
* New Class Wizard: Notify codelite to quick re-prase the workspace after class generated
* Fixed: added new 'Encoding' selection control to the 'Tasks' to allow user to change the default encoding when searching for tasks
see: http://forums.codelite.org/posting.php? ... =11&t=1761
* Renamed codelite's wxwidgets build VENDOR parameter from 'custom' to 'cl'
* Fixed problem with CZ keyboard
* Changed debugger settings under Windows
* Fixed crash on Windows with latest wx294 (configuration manager dialog crashed)
* 'Delete all files' dialog should now center itself on the screen under MSW
* Updated windows packaging scripts to include wxrc.exe as part of codelite package
* Fixed: BUG#3544533. https://sourceforge.net/tracker/?func=d ... tid=979960
* Set a parent to the 'Find In Files' dialog
* Fixed: BUG#3535721. https://sourceforge.net/tracker/?func=d ... tid=979960
* Subversion: When removing multiple files from SVN ask the user only once the 'remove from svn as well' question.
Fixed: BUG#3534809. https://sourceforge.net/tracker/?func=d ... tid=979960
* Fixed: wrong marking of warning line
Fixed: BUG#3530455. https://sourceforge.net/tracker/?func=d ... tid=979960
* Added support for SQL files synatx highlight
* SymbolView plugin re-writeen and is now named 'Outline'
+ You can view the include stack and open files from the "outline" plugin
+ Goto Impl / Decl, find references and quick selection
* Added new command line option '--with-plugins <command-separated-list-of-plugins>' to allow launching codelite only with only specific plugins
* Changed the commandline switch --no-plguins/-p to --no-plugins/-n
* Add new API to Project class: GetFiles(StringSet_t) which returns std::set of the files in a project (in fullpath format)
* Fixed crash incase one of codelite's configuration files are corrupted. In such cases, codelite will load the 'default' configuration files which are part of the installation
* Ensure that all events handled by codelite's custom notebook are actually belonged to the notebook...
* UnitTest++: added an option to mark project as UnitTest++ project from the menu
* UnitTest++: The option from the main menu 'Plugins -> UnitTest++ -> Run As UnitTest++ project' will now execute the selected the project (or the parent project of the selected item) and not the active project
* UnitTest++: Don't allow running more than one test
* Fixed: codelite will no longer prompt for a false 'retagging is in progress' message while closing codelite (it will continue to prompt if an actual parsing is taking place while shutting down)
* Allow static library project to accept static libraries in the link page of the project settings.
So this is now accepted by codelite:
ar rcus libmyarchive.a @files.txt link-with-me.a
* Remove unnecessary Update() in wxScintilla scrolling code
* Make sure that the environment variables (wx, mingw) set it %codelite-install-dir%\registry.ini
will be set in the PATH environment variable in a way that they will take precedence over any other installations found on the current computer
* UnitTest++: Clear m_output in between executions
* Fixed memory leak (wxThread were not deleted as they should)
* Fixed: (GTK / Mac) set the debugger console caption *after* the debug perspective is loaded
* Fixed doubled free pointer
* MSW: Volume Locator Thread is now DETACHED thread
* Update to 'git' plugin from upCASE
* Updated code-completion unit tests
* Added new type: wxOrderedMap to CC predefeind types
* cscope: the flag 'update db if stale' is now *unchecked* by default (it seems that cscope has a slowdown on each search due to this flag)
* Added new option to the 'Global Editor Preferences -> Guides', codelite now can also complete double quotes. i.e. when user types '"' codelite will add its sibling. In addition, when typing '"' next to a '"' codelite will move the caret to the right instead of inserting a new one.
This option is configurable from "Settings -> Global Editor Preferences -> Guides -> Auto Complete Double Quotes"
extended the double quotes complete to single quotes as well
* Updated the "New Project" dialog:
+ It now remembers the last category selected
+ Added sash between the category section and the project details
+ The OK button is enabled only when all mandatory fields are filled
* Updated Windows installer scripts to pack wxWidgets as "multilib" instead of "monolithic" lib, this change along with manual changes to wxWidgets sources / build flags under windows should now improve codelite's startup time under windows
* MSW: Fixed wx-config to respect the 'std' key word in the '--libs', in addition, wx-config now cosider aui,xrc and richtext as part of the default ('std') - this is similar to the unix script behavior
* Fixed minor memory leak - don't allow scintilla to aggregate UNDO data for the output tab's pane
* API: CreateVirtualDirectory can now create teh entire virtual directory path (it only needs that the project is valid)
* Fixed: project internal cache should now clear all 'Virtual Folders' cached entries including its children
* Fixed: allow creating "nested" virtual folders in a single call by passing the requested virtual folder full path (e.g. project:dir1:dir2:dir3:dri4)
* Database Explorer: fixed memory leak + in some cases codelite did not close database connections as it should
* Fixed: "Debugger Type" does not add new types
Fixed: BUG#3556088. https://sourceforge.net/tracker/?func=d ... tid=979960
* clang: Removed all "hard coded" "-std" switches from the clang code completion
* Splitted the "Compile flags (clang only)" under "project settings -> code completion" into 2, it now has a "C" section and "C++" section.
For example if you need C++11 support, add: -std=gnu++98 to the C++ section and for strict C leave the "C" section empty, or add "-std=c99"
The same is done under the workspace level "workspace -> workspace settings -> code completion"
* Fixed: BUG#3534286. https://sourceforge.net/tracker/?func=d ... tid=979960
* Fixed: BUG#3534157. https://sourceforge.net/tracker/?func=d ... tid=979960
* Fixed: BUG#3555260. https://sourceforge.net/tracker/?func=d ... tid=979960
* The following fields now adjusts themselves to relative paths when selected via the project settings dialog (this allows more flexibility when project file is managed by svn / git / any scm):
- Program to debug/run
- Intermediate directory
- Working directory (renamed from Working folder)
Fixed: BUG#3547909. https://sourceforge.net/tracker/?func=d ... tid=979960
* Ctrl-X (cut) will cut the entire line if no selection is made (Generoso Cesaro)
* Subversion: commit dialog remembers its sash position
* don't allow undo/redo in the svn output tab
* GIT plugin: Remember to call 'e.Skip()' for the wxEVT_INIT_DONE sent by codelite
* DbExplorer: fixed crash on exit when closing MySQL connection
* Fixed svn commit dialog initial position of the sash + don't allow unsplitting
* Added another built-in macro to codelite's code completion: wxDECLARE_EXPORTED_EVENT
* Added support for parsing DECLARE_EVENT_TYPE macro
* Updated callgraph icon
* added option "Trim trailing spcaes" to the "Edit" menu (by thfabba)
https://sourceforge.net/tracker/?func=d ... tid=979962
* Applied patch to fix builder_gnumake plugin output order - https://sourceforge.net/tracker/?func=d ... tid=979962
* Reduced the number of clang's TU cached to 10
* Fixed: 'make clean' should not attempt to call 'cd PCH && make clean' when --enable-pch is not present
* Updated Windows' clang DLL to a more recent version
* Git plugin: remove unnecessary #includes and an unused xpm, so reducing slightly the number of compilation warnings
* make sure that crash.log is written to the correct path ~/.codelite/crash.log under Linux
* Upgrade libclang.so for Linux
* Don't clear the debug log when the debug session ends
* Plugin API: added new event 'wxEVT_NOTIFY_DEBUGGER_START_CMD' which is sent when a user initiated a request to start a debugging session (using the menu Debug -> Start, or by using a hotkey). This event can be vetoed by the plugin
* Code Completion: codelite will now applies the "replacement table" defined by the user before attempting to parse local variables
* Code Completion: added default replacement token for BOOST_FOREACH
* Added new Code Completion unit test for BOOST_FOREACH
* code completion: clang: don't attempt to code-complete '(' typed right after a C++ keyword
* Fixed memory leak in git plugin
* Fixed various memory leaks in git/UT/CppCheck plugins
* Fixed minimum size of the navigation bar
* Make GitFileDiffDlg remember its size
* Makefile generator: codelite generated makefiles now uses the standard GNU makefile variables (CC, CXX, AR, RM, CFLAGS, CXXFLAGS)
Generated makefiles under Windows are now using $(MAKE) to pass the command line arguments to their children 'make' processes.
Under Windows, you will need to update your mingw32-make executable to a 'make' that has job-server support. You can get one from here:
http://codelite.org/download/mingw32-make.exe
(this make will be part of the next codelite release)
* added new utility: codelitegcc: this small executable is a wrapper around gcc that record the filename + its compilation flags into a small sqlite database. This database will be used later on by clang to get the compilation flags for a any file
* Changed GTK include from gtk-2.0/gtk/gtk.h to gtk/gtk.h
* clang: changed the way clang is extracting the compiler flags for a file: using a wrapper executable 'codelitegcc' codelite records all the compilation flags in a sqlite database. For this to work, a full rebuild is a *must* ( so each file will be recorded into the database )
* Makefile generator: generated makefiles are now using standard conventions ($MAKE, $CC, $CXX, $CFLAGS, $CXXFLAGS and $AR) these variables can be overriden using simple environment variable. In addition, codelite appends the '-e' flag to the makefile execution line, this enables environment variable to override a variable set inside the makefile
* clang: only show the message box about missing "compilation.db" once
* clang: store in the database the current working directory of the compiler at the time of compiling the source file.
* clang: Once a build is completed and the database is updated, clear the cached translation units
* clang: when searching for compilation flags for a header file, try to locate the cpp file instead. If they exist, use them.
* clang: added new wrapper class around clang's CXUnsavedFile struct
* clang: pass a list of all modified editors to clang when attempting to code-complete on a modified buffer
* clang: code completion entries generated by clang now also display the comment section if available
* debugger: fixed bug in obtaining the debuggee PID
* Environment variables:
The following formats are now valid:
VAR=$PATH:/new/path
VAR=%PATH%:/new/path
VAR=${PATH}:%LD_LIBRARY_PATH%;/new/path
VAR=$(PATH):/new/path
Note that user can now mix between different formats
* Debugger: "Pre Defined" types - the same rules for evnironment variables now applies to the debugger special keyword $(Variable), i.e. the following are valid:
$variable, $VARIABLE, $(VarIaBle), %VARIABLE%
* API change: Moved "MacroManager" from LiteEditor project to the Plugin SDK (i.e. this class is now availale for plugins)
* Auto Complete double/single quotes: codelite will now avoid adding an extra quote when inside comment or a string
* Add the CodeLite binary's path to $PATH. This makes codelitegcc available even in a '--prefix=' install
* configure script: added -lwxsqlite3 to Plugin target
* Under mac use 'curl' to downlod codelite's packages list
* Disabled text selection alpha attribute for Mac OSX (broken under wx294)
* Fixed: environment variables: if an environment is no longer exists, use wxUnsetEnv to remove it instead of wxSetEnv with empty value
* clang: added 'SCHEMA_VERSION' table for the compilation.db file. This is needed to future upgrades
Eran