microsoft/vscode-cmake-tools v1.23.51
microsoft/vscode-cmake-tools
Captured source
source ↗published Apr 16, 2026seen 1dcaptured 9hhttp 200method plain
1.23.51
Repository: microsoft/vscode-cmake-tools
Tag: v1.23.51
Published: 2026-04-16T00:45:09Z
Prerelease: no
Release notes: Features:
- Add support for CMake Presets version 11 (added in CMake 4.3). In test presets, the
execution.jobsfield can now be an empty string, equivalent to passing--parallelwith no value. - Automatically add new source files to
CMakeLists.txtand remove deleted source files fromCMakeLists.txt. Two new commands (cmake.addFileToCMakeListsandcmake.removeFileFromCMakeLists) and nine newcmake.modifyLists.*settings provide full control over target selection, variable handling, and confirmation behavior. #2132 #4454 @malsyned - Add
cmake.languageServerOnlyModeto keep CMake language services active while disabling CMake project integration when no local CMake executable is available. #4516 - Allow specifying a custom debug adapter type in
cmake.debugConfigvia thetypeproperty. When set, automatic debugger detection is skipped and any debug adapter (e.g.,codelldb,lldb) can be used with arbitrary configuration properties. #4818 - Add
${cmake.testEnvironment}placeholder for launch.json that resolves to the CTestENVIRONMENTtest property, and automatically include CTest environment variables when debugging tests without a launch configuration. #4572 #4821 - Add "Delete Build Directory and Reconfigure" command that removes the entire build directory before reconfiguring, ensuring a completely clean state. #4826
- Add
cmake.shellsetting to route CMake/CTest/CPack subprocess invocations through a custom shell (e.g., Git Bash, MSYS2), enabling embedded toolchains that require POSIX path translation on Windows. #1750 - triple: Add riscv32be riscv64be support. #4648 @lygstate
- Add command to clear build diagnostics from the Problems pane. #4691
- Clear build diagnostics from the Problems pane when a new build starts and populate them incrementally during the build. #4608
- Add individual CTest test nodes to the Project Outline with inline run/debug buttons, and enable debugging tests from both the Outline and Test Explorer without requiring a launch.json. #4721
- Add "Delete Cache, Reconfigure and Build" command that chains cache deletion, reconfiguration, and build into a single action. #4723
- Add
cmake.postConfigureTasksetting to execute a named VS Code task after every successful CMake configure. #4566 @Francois-Le - Add "Set Build and Launch/Debug Target" command that sets both the build target and launch target simultaneously. #4732
- Add
cmake.setBuildTargetSameAsLaunchTargetsetting to automatically set the build target when the launch/debug target is changed. #4519 @nikita-karatun - Add
cmake.additionalBuildProblemMatcherssetting to define custom problem matchers for build output. Supports tools like clang-tidy, PCLint Plus, cppcheck, or custom scripts integrated viaadd_custom_command/add_custom_target. #4077 - Support
targetNameargument for launch-target command substitutions (cmake.launchTargetPath, etc.) via${input:...}variables, enabling build-before-run for non-active executable targets without changing the active launch target. #4656 - Complete Bookmarks context menu with "Set Build Target", "Set Launch/Debug Target", "Open CMakeLists.txt", and "Run Utility Target" actions to match the Project Outline. #4788
- Relax
intelliSenseModevalidation in CMake Presets. #4815 @halflifefan - Support string arrays in kit
cmakeSettingsto pass CMake lists without escaping semicolons (e.g.,"LLVM_ENABLE_PROJECTS": ["clang", "lld"]). #4503 - Add
cmake.outlineViewTypesetting to toggle the Project Outline between a flat list view and the prior hierarchical tree view that shows each CMake project separately. #3799 #4538 @ar1m4n - Add
kit.visualStudioArgumentsproperty, this is the extra arguments that would be passed to thevcvarsall.batfile when entering the VS dev environment, those arguments are[platform_type] [winsdk_version] [-vcvars_ver=vc_version] [-vcvars_spectre_libs=spectre_mode]. #125 #4538 @lygstate
Improvements:
- Clarify variable substitution scope in docs for
settings.jsonvs generic VS Codetasks.json/launch.json, including when to use${command:cmake.*}and why${buildKit},${generator}, and${config:cmake.configureArgs}may not expand as expected in tasks. #4010 - Improve CMake syntax highlighting: extend variable recognition with compiler/toolchain families and add scoped property command colorization for
set_property,get_property,set_target_properties, and related commands.…
Excerpt shown — open the source for the full document.