Skip to content

CodeLite 18.0.0


This page contains the accumulated changes since CodeLite 17.0.0

Downloads


As always, all downloads are available through our download page

Changes


  • Windows Installer updated
  • CodeLite now uses 2 top level toolbars:
    • Main toolbar, a native one. Placed on the LEFT by default. This can be changed from the View menu
    • Generic one for the plugins (placed on the second row)
  • All images are loaded from SVG files
  • git plugin: by default, disable the "Commit" info in the navigation bar
  • File System Workspace: when launching an executable, use terminal
  • Source code formatter: added support for cmake-format (doc updated for how to install it)
  • Registered CMake as a language in CodeLite and associate it with the file type TypeCMake
  • Windows: MSYS2 is now located using the registry entries first
  • Aligned wxCrafter version with CodeLite's one
  • Updated CodeLite icon
  • Rust compiler: collect crate paths (as reported by cargo during the build) to properly open files with errors (these files paths are reported relative to the crate's Cargo.toml file)
  • Language Server: do not fire a code completion request when typing inside a comment or string
  • Preferences Dialog: Add missing translations (rlbxku1r)
  • Update codelite.pot (rlbxku1r)
  • Update Japanese translation (rlbxku1r)
  • Language Server: optimized the chatter between CodeLite and the LSP:
    • Only ask for semantic tokens when the file is loaded or saved
    • Instead of sending the full file content to server each time a reparse is needed, send the incremental diff (vector<TextDocumentContentChangeEvent>)
    • moved CodeLite log file location into a separate folder
    • Fixed LSP::Range serialisation to JSON
  • Language Server:
    • Removed the "priority field"
    • Allow the user to add custom initializationOptions (per the spec)
  • Dropped support for RLS language server (was deprecated in favour of rust-analyzer)
  • Language Server:

    • Support cmake-language-server auto detection (docs updated)
    • fixed: sometimes, the lsp report back with lower case file paths on Windows.
  • source code formatter: when a command is not found, disable the formatter by default

  • SSH session: allow the user to change the SSH behaviour by providing the following 3 environment variables:

    • SSH_OPTIONS_KEY_EXCHANGE: Set the key exchange method to be used (string, comma-separated list). ex: ecdh-sha2-nistp256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
    • SSH_OPTIONS_HOSTKEYS: Set the preferred server host key types (string, comma-separated list). ex: ssh-rsa,ssh-dss,ecdh-sha2-nistp256
    • SSH_OPTIONS_PUBLICKEY_ACCEPTED_TYPES: Set the preferred public key algorithms to be used for authentication (string, comma-separated list). ex: ssh-rsa,rsa-sha2-256,ssh-dss,ecdh-sha2-nistp256
  • C++ version required by CodeLite is now C++17

  • CodeLite no longer requires ssh terminal to execute remote commands. It now uses ssh_channel from libssh
  • Colours and fonts dialog: import toolbar button now allows to select multiple themes to import
  • Colours and fonts dialog: newly imported themes will use the global font by default
  • Optimized loading of huge JSON files (~100MB of json file)
  • If the user provided its own mkdir command, do not manipulate it by double quoting it
  • Clear modified lines after a file was formatted (otherwise, the entire file is marked as "modified")
  • Minor UI change for the word highlight markers
  • Added syntax highlight for TCL language
  • python: support colouring f-string (requires one to click on the "Restore" button)
  • Deprecate the Default build system when creating new project, default to CodeLite Makefile Generator
  • performance improvement for the ZoomNavigator plugin
  • Implemented: ZoomNavigator zoom factor
  • ZoomNavigator: the view now also sync the error / warning markers from the "real" editor
  • Changed: remote interactive processes are started using a proxy script
  • git: prompt the user in case of failure to commit locally
  • Remoty: implemented "replace in files" for remote files using sed + grep
  • Dropped support for codelite-terminal
  • highlight word: remove the "HAND" cursor when hovering a highlighted word
  • Experimental: added a built-in terminal. This is not a "full blown" terminal, i.e. you can't use it to edit using vim. It does however, support running complex commands and support various operations
  • Language Server: support workspace/codeActions. A code action are fixes suggested by the language server. An example for a C++ code action: added missing include header or add missing ; etc
  • Language Server: detect broken paths in configured LSPs and prompt the user with a fix-it button
  • CppCheck plugin: use the system installed cppcheck tool instead of installing an old version with CodeLite
  • Rust editor: support keyboard for commenting / uncommenting code ( Ctrl-/ + Ctrl-Shift-/ )
  • Rust editor: ! is a valid word char
  • source code formatter: if no formatters are configured, trigger a scan on startup
  • Remote workspace + Remote SFTP view: in case of disconnection due to inactivity, attempt to reconnect
  • Ctrl-TAB is now working for all notebooks, not only for the main editor book
  • Language Server Plugin: clicking on the "Scan" button prompts the user
  • Language Server Plugin: the "Scan" button now replaces all entries with what CodeLite found
  • Implemented: Show/Hide Main Toolbar
  • Git plugin: the branch name is now shown in the status bar along with the git icon
  • Mark LSP warnings/hint/info with yellow markers and not with the standard error marker
  • Added support for Kitty terminal (Linux & macOS)
  • git: support using an external diff tool (e.g. winmerge, vimdiff etc)
  • Debug Adapter Protocol Client (DAP): fixed issue with breakpoint not set correctly
  • Debug Adapter Protocol Client (DAP): fixed bug where init para cwd was set to empty value when launching the server
  • Debug Adapter Protocol Client (DAP): should now be working with VS Code cpptools
  • Icons update
  • LSP: rename symbol is now supported
  • Remoty: reduce a remote workspace load time
  • codelite-cc is replaced with cc-wrapper
  • Status bar: added 2 buttons on the left side of the status bar for quick showing/hiding the sidebar / bottom bar
  • UI redesign: the sidebar is now a new "button like" control. An additional "secondary sidebar" was added. User can move items from the primary sidebar to the secondary
  • Status bar: added a "show secondary sidebar" button
  • Linux: the IDE is now built using the generic notebook control (changes in wxWidgets no longer allows us to maintain our custom book control)
  • Outline view: reduce the font size to be 80% of the default editor font
  • Git: support "Redirect" response from server
  • Zoom Navigator: the marker is now centred.
  • Zoom Navigator: make the marker a bit more visible
  • Zoom Navigator: use arrow cursor for the view
  • Hide namespaces in outline view
  • VC compiler: improved warning / errors parsing
  • Build settings: updated the "Patterns" tab to a more modern look
  • Built-in terminal: on Windows, attempt to detect VS installation and offer various shell types: CMD, BASH or CMD for Visual Studio NN
  • Built-in terminal: number the tabs
  • Use a "hand" cursor when displaying clickable url under a symbol
  • Use sensible pane sizes for new installs
  • Allow the user to reposition the sidebar buttons to: top, left or vertical (the default). This can be done from: settings -> preferences -> tabs -> sidebar buttons position
  • Git console: added context menu to the "log" view (copy/clear)
  • Make the various markers (spellchecker, word highlight etc) more visible in dark themes
  • Increased the git field width in the status bar
  • Performance improvements
  • Side bar: respond to DPI change event
  • Main editor tab control is now using a subclass of wxAuiNotebook. This allows the user to place tabs side by side by simply dragging them
  • clangd detector: the --limit-results flag now uses the value set by the user in settings -> code completion -> number of items to display
  • Code completion box: when there is exactly one match in the code completion box, and it matches what the user already written in the editor -> dismiss the box
  • Code completion help window: wait 250ms before attempting to display it, this reduces the CPU cycles when quickly moving items in the code completion box
  • Get back toolbar buttons and add few new buttons (Rozhuk Ivan)
  • Code completion box: allow ' in the cc box (used by various languages like Rust)
  • Increased git field width in the status bar

Bug fixes


Back to top