Skip to content

CodeLite 18.0.0

This page contains the accumulated changes since CodeLite 17.0.0


As always, all downloads are available through our download page


  • Windows Installer updated
  • CodeLite now uses 2 top level toolbars:
    • Main toolbar, a native one. Placed on the LEFT by default. Thsi 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 behavior 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

Bug fixes