CMake C/C++ workflow in VS Code without cpptools — Kylin CMake Workflow v0.3.1

CMake C/C++ workflow in VS Code without cpptools — Kylin CMake Workflow v0.3.1

Kylin CMake Workflow (KylinIdeTeam.kylin-cmake-tools v0.3.1) is a community fork of Microsoft's CMake Tools extension that strips every cpptools dependency — making CMake configure/build/debug work on VSCodium, Cursor, and any clangd-first setup. It auto-injects CMAKE_EXPORT_COMPILE_COMMANDS at configure time so clangd always has a compile database, with no manual settings edits required.

VS Code / JetBrains Plugin Pick
2026/6/6 · 1:21
1 订阅 · 19 内容
If you've opened VS Code on VSCodium, Cursor, or any other VS Code fork recently and tried to install ms-vscode.cmake-tools, you may have hit a wall: Microsoft's C/C++ extension (cpptools) stopped working on non-Microsoft builds in April 2025. 1 Even on plain VS Code, you might have wanted to drop cpptools entirely and switch to clangd — only to find that CMake Tools still expects cpptools to be present.
Kylin CMake Workflow (KylinIdeTeam.kylin-cmake-tools, v0.3.1) solves this by forking the official CMake Tools extension and surgically removing every cpptools dependency. The result is a complete CMake configure/build/debug workflow that runs purely on clangd and CodeLLDB — no Microsoft C/C++ extension required or wanted. 2
Extension: KylinIdeTeam.kylin-cmake-tools (v0.3.1) · ~6,767 installs · Free · VS Code Marketplace · Open VSX

The problem: cpptools is a hard dependency you can't easily escape

The standard VS Code C/C++ setup pairs Microsoft's CMake Tools extension with cpptools for IntelliSense. When Microsoft restricted cpptools to official VS Code builds starting with v1.24.5 (April 3, 2025), users of VSCodium, Cursor, Eclipse Theia, and similar forks lost both IntelliSense and the debugger in a single update. 1 Cursor CEO Michael Truell publicly committed to bundling open-source alternatives instead. 1
Even for users on official VS Code who aren't hitting the fork restriction, clangd has a well-documented speed advantage over Microsoft's IntelliSense. KDAB engineers found that identifier lookup and go-to-definition are "almost instantaneous with clangd" where the Microsoft extension "takes a second or two, requiring a progress bar." 3 The catch: clangd needs a compile_commands.json file to work — and CMake only generates that file if you remember to pass -DCMAKE_EXPORT_COMPILE_COMMANDS=1 (or set it in CMakeLists.txt). Miss it, and clangd indexes nothing.
Architecture diagram showing VS Code C/C++ extensions: Microsoft C/C++ (with debug adapter and LSP client) on the left, and LLVM clangd (LSP client only) on the right, each connecting to their respective LSP servers and compiler toolchains
Two extension paths for C/C++ in VS Code: the Microsoft C/C++ extension bundles both IntelliSense and a debug adapter, while clangd covers only IntelliSense — you need a separate debugger. 3

What Kylin CMake Workflow changes

The fork makes four changes compared to ms-vscode.cmake-tools:
1. No cpptools runtime dependency. KylinIdeTeam states it plainly: "No runtime dependency on ms-vscode.cpptools." 2 The extension installs and runs without cpptools present.
2. compile_commands.json is always generated. The extension appends CMAKE_EXPORT_COMPILE_COMMANDS to every CMake configure invocation automatically — including when using CMake Presets — unless you've already set it in your preset or in cmake.configureArgs. 2 This eliminates the manual step that trips up most clangd setups.
3. CodeLLDB guidance on Windows. When you hit "Quick Debug" on a project using an MSVC-style toolchain, the original CMake Tools would silently spin up a cppvsdbg debugger configuration — which requires cpptools. Kylin intercepts that launch and shows a dialog offering to install CodeLLDB, write a CodeLLDB-based cmake.debugConfig to your workspace, or open the debug configuration docs. 2
4. Telemetry disabled. The fork sends no usage data to Microsoft. 2
There is one functional removal: CMake language services (syntax highlighting and IntelliSense for .cmake and CMakeLists.txt files) were stripped out and moved to a companion extension, KylinIdeTeam.cmake-intellisence, which Kylin CMake Workflow auto-installs as part of its own extension pack. 2

Setting up the full workflow

The recommended path is the kylin-cpp-pack bundle (KylinIdeTeam.kylin-cpp-pack, v0.2.0, ~1,169 installs), which installs three extensions at once: 4
ExtensionRole
KylinIdeTeam.kylin-clangdclangd language server (IntelliSense, go-to-definition, diagnostics)
KylinIdeTeam.kylin-cmake-toolsCMake configure / build / test / launch (this extension)
KylinIdeTeam.cppdebugC/C++ debugger
The integration bonus: Kylin Clangd can read the compile commands database directory directly from Kylin CMake Workflow, so you never have to manually point clangd at a compile_commands.json path. 5
Prerequisites:
  • VS Code 1.88.0 or later (or a compatible fork at the same engine version)
  • CMake installed and on PATH, or cmake.cmakePath set in settings
  • Disable ms-vscode.cmake-tools before installing — the two extensions conflict on commands 2
Once the pack is installed, open any CMake project, select a kit, and run CMake: Configure. The extension generates compile_commands.json in your build directory. Kylin Clangd picks it up automatically — no settings.json edits needed for the compile database path.
For a project that previously used cmake-tools + cpptools:
// settings.json — disable cpptools IntelliSense, let clangd take over
{
  "C_Cpp.intelliSenseEngine": "disabled",
  "cmake.debugConfig": {
    "type": "codelldb"   // use CodeLLDB for all debug launches
  }
}
The C_Cpp.intelliSenseEngine flag prevents cpptools from indexing the project even if it's still installed. Setting cmake.debugConfig.type to codelldb avoids the Windows dialog on every Quick Debug launch.
正在加载内容卡片…
正在加载内容卡片…

Known limitations

These are real constraints to weigh before adopting the extension:
  • Single maintainer, minimal community. The GitHub repository (quanzhuo/vscode-cmake-tools) has 2 stars, 1 fork, 0 open issues, and Issues are disabled. There is no public bug tracker — problems have no official place to land. 6
  • Version gap vs. upstream. The Marketplace version is 0.3.1; the official ms-vscode.cmake-tools is at 1.23.52 (released April 22, 2026). 7 Upstream features added after the fork point — FASTBuild generator support, cmake.postConfigureTask, CMake Presets v11, cmake.shell, and automatic source file add/remove in CMakeLists.txt — may not be present. The fork's CHANGELOG.md is a copy of the upstream Microsoft changelog with no fork-specific entries, making it hard to know exactly what was backported. 8
  • CMake IntelliSense needs a separate extension. The auto-installed cmake-intellisence extension covers .cmake file highlighting, but users moving from the standard CMake Tools setup may notice the language services are no longer built into the main extension.
  • VS Code fork compatibility is undocumented. The extension is confirmed to work on VS Code; compatibility with Cursor, Windsurf, or Eclipse Theia has not been tested or documented officially. The extension is published on Open VSX, which covers most VS Code forks.
  • Fork-private API. The extension exposes getApi(1000) with getCompileCommand(uri) and onCompileCommandsChanged — a separate API slot from the upstream getApi(1.0). Third-party extensions that depend on the cmake-tools API may not work without changes. 2

Who should install this

The extension fits a specific gap. KylinIdeTeam's own description puts it plainly: "This extension is intended for teams that prefer a clangd-first C/C++ workflow." 2
Install it if you're using VSCodium or another VS Code fork where cpptools no longer runs, or if you've already committed to clangd and want CMake integration that doesn't pull cpptools back in as a side effect. Skip it if you need to stay on the latest upstream CMake Tools features, rely on a third-party extension that reads the cmake-tools API, or need a maintained issue tracker.

Quick reference

Extension IDKylinIdeTeam.kylin-cmake-tools
Version0.3.1 (updated 2026-06-05)
PublisherKylinIdeTeam (verified)
Installs~6,767
Rating4.45 weighted (no submitted reviews)
Minimum VS Code1.88.0
LicenseMIT
Upstream fork ofms-vscode.cmake-tools (upstream v1.23.52)
Recommended bundleKylinIdeTeam.kylin-cpp-pack (clangd + debug + CMake)
Also onOpen VSX
Cover image from the CMake Tools project repository (MIT license).

围绕这条内容继续补充观点或上下文。

  • 登录后可发表评论。