CodeLite is a free, open source, cross platform IDE specialized in C, C++, PHP and JavaScript (mainly for backend developers using Node.js) programming languages, which runs best on all major platforms (Windows, macOS and Linux).
Compilers
- Generic support for compilers with built-in support for GCC/clang/VC++
- Display errors as code annotations or as tooltip in the editor window
- Errors are clickable via the Build tab
GDB Support
- Built-in GDB support, with the following features included:
- Watches table - add persistent watches with a single click
- Quick Watch - right click on a variable to expand it
- Locals tree - automatically displays the current stack variables (also displays *this if available)
- Threads view - contains a list of currently-running threads; switch between them with a single click
- Breakpoint management - disable, enable, conditional, temporary
- Automatic tree like tooltips
- Memory view
- Tree View tooltips (auto de-references pointers)
- Allow modifying tooltips
Refactoring
- Rename symbol
- Rename file (will also change all #include in the code)
- Rename local symbol
- Generate setters / getters
- Implement inherited virtual functions
- Implement inherited pure-virtual functions
- Easily change function signature to match its header / implementation counterpart
- Move functions implementation to another source file
- Implement all unimplemented methods
- Implement method
Source Control Plugins
- Subversion plugin (based on the command line tool)
- GIT plugin
Code Navigation
- Outline
- cscope plugin
- Zoom Navigator - display a mini map of your code
Code Completion
CodeLite offers 2 code completion engines (both can be enabled at the same time)
- Powerful and amazingly fast code completion based on our in-house parser (supports C++11 auto keyword, templates, inheritance etc)
- clang based code completion - based on the CLANG/LLVM project - this feature provides a compiler level code completion
- Parse and display doxygen comments in the code completion box (as a separated floating window)
What's New
New Features
- Add MiniMap view support for editors – Adds a new minimap/code overview panel to improve navigation in large files. a10af20e4
- Add Markdown support to workspace – Native Markdown file support with syntax highlighting and preview capabilities. 69cdd5f9f
- Add C# language support to CodeLite – Full C# language server protocol support. fc586b51f
- Add Pyright Support for Python Language Server – Improved Python development with Pyright LSP integration. fc586b51f
- Add Support for Multiple Models Per LLM Endpoint – Configure and switch between different AI models within a single endpoint. ba5f634df
- Add MCP Server Configuration and Management UI #3811 – New UI for managing Model Context Protocol servers. 72d33b0bb
- Add EndpointModelSelector control for LLM endpoint and model selection – New UI control for selecting AI models and endpoints. 52c6b1a9e
- Add LLM Cost Tracking and Display in Chat AI Window – Track and display API costs for AI interactions. 224749a23
- Add Prompt Caching Support and Refactor Chat Window UI – Improves AI response times with caching. 45034a2f1
- Add Chat History Dialog With Management Features – View, search, and manage AI chat history. ca5734525
- Add Placeholder Auto-Completion and Selection UI to Chat AI Window – Smart auto-completion for AI prompt placeholders. 8bddc6f0f
- Add Enable Tools checkbox to ChatAI window – Control whether AI can execute tools. cb2896bc5
- Add Interactive User Prompt System with Trust Option – User confirmation for AI tool execution with trust options. 3ac7033d9
- Add Syntax Highlighting for Code Blocks in Markdown Styler – Embedded code blocks in Markdown now have full syntax highlighting. bf0d00f6c
- Add Dedicated Diff Styles for Markdown Code Blocks – Enhanced diff viewing in AI chat windows. 9a7cc2df3
- Add AI-Powered Workspace Creation Tool – Create workspaces using AI assistance. 11daec7d1
- Add Find-In-Files Functionality to AI Plugin – AI can now search across files. 4403eeb0b
- Add Regex Search Support to Find in Files Functionality – Regular expression support for file searches. 3e3963cfd
- Add Shell Execution Capability to LLM Tools – AI can execute shell commands with user permission. 178ea93d4
- Add ApplyPatch Function – AI can apply git-style patches to files. efc43aac0
- Add GetOS Tool to Report Operating System to LLM – AI can detect the host operating system. 244597e9d
- Add User Cancellation Support for Shell Command Execution – Cancel long-running AI shell commands. 5637b78dc
- Add Shutdown Flag Support to Process Execution on Unix – Proper process cleanup on Unix systems. 505a1ed47
- LLM: Support Using Environment Variables in Config – Reference environment variables in AI configuration. f67ef7190
- Add Workspace Functions to Lua API – Lua scripting can now manipulate workspaces. 6a050ae55
- Add User Text Input Function To Lua Scripting API – Lua scripts can prompt users for input. 453448d6d
- Add String Replace Function to Lua Scripting API – String manipulation utilities for Lua. 49a4bb179
- Add Lua helper functions for editor access and logging – Enhanced Lua API with editor integration. 36864a417
- Add CodeLite Lua API definitions – Complete Lua API documentation. 80e0afbfe
- Add Lua file type support – Syntax highlighting and LSP support for Lua. e208f2106
- Add Windows ARM64 build #3797 – Native ARM64 Windows support. 80c1482ce
- Add option to skip SFTP writes when ignoring workspace – Performance optimization for remote workspaces. 51b5b1377
- Add custom prompt creation and deletion support to Prompt Editor – Manage custom AI prompts. fa488c74c
- Add pending answer counter to track active user prompts – UI indicator for pending AI responses. 7a52d8f9d
- Add line range support to GetActiveEditorText function – AI tools can request specific line ranges. 7a29efb2d
- Add support for 4 and 5 backtick code blocks in Markdown styler – Extended Markdown code block support. 34988e972
- Add flat tab art provider for main book with dynamic text colour support – Modern flat tab design. 61f6916de
- Add BlockTimer utility – Performance profiling tool for developers. 3e036dee8
- Add gnome-console (kgx) as possible terminal #3781 – Support for GNOME Console terminal. d6a4aade5
- Prevent commit when git index is locked – Safety feature to prevent conflicts. 34988e972
Bug Fixes
- Fix macOS panel background colour handling and refactor LSP server validation – Proper theme colors on macOS. b93e99457
- MSW: Fix FACTOR_ALTROW_DARK value in light theme color scheme – Corrects alternating row colors on Windows. 14d27bd9b
- MSW: Fix alternate row highlight factor for consistent light theme appearance – Improved light theme consistency on Windows. 99362c603
- Fix border colour rendering on Windows in dark mode – Dark mode border colors now render correctly. 79b02ee18
- Fix Windows Alternate Row Colour for Tree Views – Tree view theming fixes for Windows. b003087ac
- Fix dialog flags in PromptEditorDlg::OnDefaults – Corrects dialog behavior. 07ff68781
- Fix patch trust logic and support diff comment syntax – Patch application reliability improvements. 36489326a
- Fix page index type safety in PromptEditorDlg – Prevents type-related crashes. dfc6dd1ca
- Fix AI prompt footer formatting in commit message template – Better formatted AI-generated commit messages. 5eb079cfc
- Fix Find Dialog positioning to avoid hiding text selection – Find dialog no longer obscures selected text. d6324c314
- Fix InfoBar constructor for wxWidgets 3.3.0 compatibility – Compatibility with latest wxWidgets. 7ae922a70
- Fix crash when calling JSONItem::GetAsMap() on non-object #3838 – JSON API safety fix. 3e0150edf
- Fix build error without SFTP support – Conditional compilation fixes. c11fa46c6
- Fix Resource Leak By Closing File Pointer In Popen Function – Memory leak fix. a88c09d2c
- Fix Non-ASCII Characters and Improve GTK Unicode Support – Better Unicode handling on Linux. 0c1a20ea1
- Fix Markdown Code Block Delimiter Visibility – Delimiters now display correctly. b15992fa7
- Fix Rust Syntax Highlighting in Markdown Styler – Rust code blocks now highlight properly. 092e3fd00
- Fix build for GCC – GCC compilation compatibility. 95ca175ac
- Fixed missing header inclusion when built without SFTP support – Build system fixes. f9e39010c
- Fix Missing Namespace Closing Brace in Popen Function – Syntax error fix. ce300dcfa
- Fix Autocomplete Trigger to Require Double Brace Input – Prevents accidental auto-completion. 2c4ddefa9
- Fix Duplicate First Argument in Child Process Command Building – Process execution fix. 97dc06878
- Fix Incorrect Section Number in AI Documentation – Documentation correction. 20e6528c1
- Fix Remove Newline-To-Pipe Conversion In CommentConfigData Serialization – Comment template fix. be2cecbc4
- Fix build and installation on CYGWIN #3813 – CYGWIN platform support restored. 42efcc2e9
- Fix debug build configuration (macOS) – Debug builds work correctly on macOS. 830853dbb
- Fix endpoint and MCP duplicate handling in LLM manager – Prevents duplicate entries in AI configuration. 6a88f0c1a
- Fix misplaced break #3803 – Control flow correction. dcc1a1050
- Fixed: https://github.com/eranif/codelite/issues/3776 – Specific issue resolution. 7472196f4
- Fixed outline view event not fired by LSP – LSP outline view now updates correctly. 81c22d594
- Fix Quick Find Bar Layout And Sizing Issues – Find bar UI improvements. daf77af07
- Fix Race Condition During LSP Manager Shutdown – Thread safety fix for LSP. 612edca56
- Fix Mini-Map Focus Handling And Cleanup On Page Closing – Minimap stability improvements. 62d0353ec
- Fix Event Propagation In MiniMap Edit Update – Event handling fix. fec30875d
- Fix URI decoding for colon, and fix Windows drive URI handling – Better file path handling on Windows. e208f2106
- Fix build configuration choice width in filesystem workspace view – UI layout fix. 8e03350c9
- Fix CMake release build directory path in workspace configuration – CMake configuration fix. 3e036dee8
- Fix Japanese codelite.po #3731 – Japanese translation corrections. 57fe8d91a
- Fix comparison between signed and unsigned integer types – Type safety improvement. 23f4ad6b1
- Fix compilation with msvc #3832 – MSVC compatibility fix. b64cbbf3c
- SideBar build fixes for wx3.2 – wxWidgets 3.2 compatibility. d088c3d8e
- Fixed build with wx3.2 – Additional wx3.2 build fixes. 5637b78dc
Improvements / Refactorings
- Update MSYS2 Detection to Support Multiple Registry Names – Better MSYS2 environment detection. 268b53190
- Add initialization guard to LLMManager – Prevents double initialization. 25a5756ad
- Refactor toolbar data management to use maps and std::optional – Modern C++ improvements. d088c3d8e
- Refactor clSideBarCtrl to separate toolbar and action buttons – Better code organization. 49019b178
- Add optional header to clSideBarCtrl – Optional header support for sidebar. ed705b929
- Refactor API Key input field and improve initialization – Better API key management. 6e00d221d
- Update Git commit dialog toolbar with custom art provider – Improved Git UI. 5016040b0
- Replace clToolBar with wxAuiToolBar – Modern toolbar implementation. 51b5b1a9e
- Unify Dark Mode Border Color Across Platforms – Consistent theming. 9dd964604
- Refactor Find-In-Files Tool to Use Grep Command – Performance improvement for file searches. 0964a56cd
- Refactor tab path display and apply code style cleanup – Code quality improvements. 672c9e4b6
- Add border styling to flat tab art UI elements – Enhanced tab styling. 64c8624d8
- Rename file path copy methods and add remote file support – Better remote file handling. 8a934942a
- Refactor AI-powered features and prompt management system – Major AI subsystem refactoring. 8424b1738
- Refactor toolbar options into dropdown menu – Cleaner toolbar UI. 2d7a8162a
- Replace wxInfoBar With Custom InfoBar to Queue Messages – Better message management. 217e82c8a
- Refactor User Prompt Timeout Handling and Add Global Shutdown Flag – Better async handling. dbc36d06d
- Refactor AI Tool Confirmation Flow to Use Modal Dialog – Improved user interaction flow. 8ef743521
- Add Unicode symbols support and enhance AI plugin functionality – Better Unicode support. a0cd7c049
- Refactor Chat History To Support Per-Endpoint Conversations – Better conversation management. 45034a2f1
- Refactor Stream Callback Signature to Use Enum-Based Reason Flags – Type-safe callbacks. 3d112eaf9
- Center Main Frame Window On Screen During Initialization – Better initial window placement. 44a0d5362
- Add validation for overly broad file pattern – Prevents accidental massive searches. 33b802dbd
- Refactor RunOnMain to EventNotifier as a Template Method – Better event handling. 202b4aa3d
- Refactor ChatAI Ownership to LLMManager and Fix Thread Safety – Thread safety improvements. 2faeddb15
- Refactor Formatter Lookup Logic and Add Language Support for Shfmt – Shell script formatting support. c00ef95fc
- Refactor Code Formatting and Fix Shfmt Formatter Configuration – Better formatter integration. 95ca175ac
- Refactor LLM Tools and Add Shell Execution Capability – Enhanced AI tool system. 178ea93d4
- Refactor File Operations and Add GetCurrentEditorPath Function – Better file API. bfb331144
- Add PatchApplier Class for Unified Diff Parsing and Application – Robust patch handling. 60c376954
- Refactor Chat History to Store Full Conversations Instead of Prompts – Richer chat history. bbc26a555
- Allow Passphrase Prompt for SSH Public Key Login on Any Thread – Better SSH UX. 5cc30327b
- Refactor SSH Account UI to Use Choicebook for Login Methods – Improved SSH configuration UI. fa11176fa
- Update Comment Templates To Place Cursor After @brief – Better comment editing. a84b9a14a
- Refactor temp file name generation to use modern C++ random utilities – Modern C++ usage. fdc964388
- Remove Redundant Overloads From clFilesFinder – Code simplification. 224790e85
- Update LSP request methods and clang-format standard – LSP improvements. 8d41dd967
- Refactor PHP and Docker Plugins to Remove Clang Management – Plugin cleanup. 60843b2b0
- Refactor toolbars to use wxAuiToolBar and centralize menu handling – Unified toolbar system. 493197ea0
- Replace wxMessageBox with clMessageBox for consistent dark mode on MSW – Better dark mode support. 2c18b7a79
- Refactor Menu Item Handling to Use Optional for Separator Detection – Modern C++ patterns. b7ba948c1
- Refactor String Conversions – Code cleanup. 71e678844
- Refactor Toolbar Tool Creation to Use Centralized Helper Method – Code reuse. c632e6f8c
- Refactor MiniMap focus handling and add early page count guard – Stability improvements. 959c057ce
- Replace clThemedComboBox With Standard wxComboBox In Find/Replace Dialogs – UI simplification. e20512cc8
- Refactor MiniMap scrolling to use mouse position check – Better minimap interaction. ce56a2bd1
- Standardize Sidebar Button Size – Consistent UI sizing. fb2679054
- Refactor Markdown Code Fence Removal Logic – Code cleanup. f51b19274
- Refactor Configuration and Prompt UI with Modern C++ and Add Defaults Reset – Modern C++ migration. c12ca097e
- Refactor minimap implementation and clean up unused resources – Performance optimization. 5a813dad8
- Improve performance by optimizing mini-map handling – Rendering optimization. 9104a6f4d
- Improve Markdown code-block stripping logic – Better Markdown processing. 36864a417
- Refactor XML resource handling to use a unified clXmlResource wrapper #3733 – Unified resource management. fb4f0a5fa
- Replace wxSharedPtr by std::shared_ptr #3734 – Modern C++ smart pointers. 1dd98fb4d
- Improve theme importers and add new themes – Expanded theme library. f0c807523
- Adjust active tab text colour for better visibility on dark backgrounds – Better tab readability. 241b582b5
- Update Git Commit Dialog to Use Custom Message Box and Diff Selected Files – Enhanced Git workflow. 4c5f46ce6
- Move the build configuration choice control to the filesystem workspace toolbar – Better toolbar organization. 006922015
- Refactor Git Console UI And Update TODO List – UI improvements. 746f78544
- Update Clang-Format Version Support and Fix UI Initialisation – Latest clang-format support. 10a8c42c2
- Rename QuickFindBar to FindAndReplaceDialog and Update References – Better naming. f84777e33
- Refactor Quick Find Bar to Use wxFrame Instead of wxDialog – Improved find UI. 9da127403
- Update UI modified indicator and modernize Git plugin event handling – Modern event patterns. b17476880
- Refresh Outline View When Sidebar Page Changes – Better outline synchronization. 80e9fd0e3
- Improve Up-To-Date Version Notification Message – Better update notifications. 8bddc6f0f
- Add Overflow Style To Toolbar Controls And Update Icon Colors – Better toolbar aesthetics. 49ea1f126
- Reduce Pen Width For Tree Button Rendering – Sharper tree controls. 33f448d34
- Adjust Color Lightness Values for Improved UI Contrast – Better theme contrast. 7b8d0c6e
- Improve Chat History Label Display And Filtering – Better chat history UX. 74c8d1628
- Apply Font Settings to "Where" Combo Box in Find In Files Dialog – Consistent fonts. bc7154035
- Add Truncation and Trimming for Chat History Display – Better long text handling. f51b19274
- Add MIME image list retrieval – Better file type icons. 01a79ece0
- MiniMap: add Mouse Wheel Forwarding to main edit control – Better minimap scrolling. 1dc1e57ae
- Update Copyright Year to 2026 – Copyright updates. 606da2025
- Improve Clang format – Code formatting improvements. Multiple commits.

