C++ Apache-2.0

clice

A next-generation C++ language server for modern C++, focused on high performance and deep code intelligence

C

clice-io

Dernière activité 29 sept. 2026
clice-io/clice

1,3 k

étoiles

83

forks

96

issues ouvertes

ccpplanguage-server

Ce README est souvent en anglais.

clice

clice

C++ Standard GitHub license Actions status Documentation Ask DeepWiki Discord

A C++ language server written from scratch on LLVM/Clang, with selected components ported from clangd. clice redesigns key architectural decisions to solve long-standing problems in C++ tooling.

Why clice?

Some problems in C++ tooling require architectural changes that cannot be easily retrofitted into existing language servers. clice addresses these from the ground up:

Template intelligence — Type vec2[0]. inside a template body and get full completions. clice uses pseudo-instantiation to resolve dependent types through nested typedefs and template specializations without needing concrete type arguments. Types like std::vector<std::vector<T>>::reference resolve to std::vector<T>&, enabling completion, hover, and go-to-definition inside generic code.

Compilation context — A first-class concept in clice. For source files, switch between different compilation commands (e.g. different build configurations). For header files, switch which source file provides the including context (preprocessor state, preceding declarations). This handles non-self-contained headers and context-dependent macros naturally, with automatic context switching as you navigate.

C++20 named modules — Parallel module compilation driven by a dependency-aware compile graph with interest-counted cancellation. Pre-compiled module interfaces (BMIs) are cached across editor sessions, so reopening a project skips redundant builds. The LSP layer provides module name completion on import statements and module-aware semantic highlighting.

Getting Started

Install

Download the latest binary from the releases page, or build from source.

Platforms: Linux (x64, ARM64), macOS (x64, ARM64), Windows (x64, ARM64)

Release channels:

Channel Version Where to get it
Stable even minor, e.g. v0.2.0 releases page + VS Code Marketplace + Open VSX
Nightly odd minor, e.g. v0.1.2026071902 GitHub pre-releases + Marketplace and Open VSX pre-release channel (Switch to Pre-Release Version on the extension page)
Per-commit untagged artifacts on the latest green main CI runs

The versioning rule is the VS Code Marketplace convention: even minor = stable, odd minor = pre-release. Nightly patch numbers encode the UTC build time as YYYYMMDDHH (year, month, day, hour — e.g. 2026071902 is 2026-07-19 02:00 UTC), so newer is always higher; a nightly is published only when main gained commits, and nightlies older than 30 days are removed. Every published binary is the exact one that passed the full test suites — releases promote CI builds rather than rebuilding.

For the freshest bits, every green main CI run attaches installable artifacts (binaries and platform vsix) to its run page, so a fix can be tried the moment it merges (GitHub login required for artifact downloads).

Each release also ships *.symbols packages: if clice crashes, attach the newest server log to an issue and the matching symbols let us reconstruct the exact stack. The log location is printed at startup in your editor's clice output panel (Session log directory: — by default under <workspace>/.clice/logs/).

Editor Setup

Editor Setup
VS Code Install the clice extension from the Marketplace
Cursor, VSCodium, Windsurf Install the clice extension from Open VSX
Neovim Add editors/nvim to your runtime path: vim.opt.rtp:append("/path/to/clice/editors/nvim")
Zed Load editors/zed as a local extension
Other Any LSP client works — point it at clice serve

Project Setup

clice reads a compilation database to understand your project. For CMake:

cmake -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON

By default clice searches the workspace root and its immediate subdirectories (e.g. build/) for compile_commands.json. See configuration for custom paths and other build systems.

Note

clice is in beta on the road to its first stable release: nightlies are ready to try today. Bug reports via issues are welcome.

Documentation

Full docs at docs.clice.io/clice covering configuration, architecture, and the feature checklist.

Contributing

See the contribution guide or join our Discord.

pixi run build   # configure + build
pixi run test    # unit + integration + smoke tests

Projets similaires

C/C++/ObjC language server supporting cross references, hierarchies, completion and semantic highlighting

C++cppidelanguage-server-protocol
MMaskRay
4,1 k étoiles280

clangd language server

Shellclangcpluspluside
Cclangd
2,3 k étoiles96

High-performance AI pipeline engine with a C++ core and 50+ Python-extensible nodes. Build, debug, and scale LLM workflows with 13+ model providers, 8+ vector databases, and agent orchestration, all from your IDE. Includes VS Code extension, TypeScript/Python SDKs, and Docker deployment.

Pythonaicppdata-pipeline
Rrocketride-org
17,4 k étoiles7,6 k