ReleaseMicrosoftMicrosoftpublished Apr 16, 2026seen 1d

microsoft/vscode-cmake-tools v1.23.51

microsoft/vscode-cmake-tools

Open original ↗

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.jobs field can now be an empty string, equivalent to passing --parallel with no value.
  • Automatically add new source files to CMakeLists.txt and remove deleted source files from CMakeLists.txt. Two new commands (cmake.addFileToCMakeLists and cmake.removeFileFromCMakeLists) and nine new cmake.modifyLists.* settings provide full control over target selection, variable handling, and confirmation behavior. #2132 #4454 @malsyned
  • Add cmake.languageServerOnlyMode to 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.debugConfig via the type property. 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 CTest ENVIRONMENT test 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.shell setting 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.postConfigureTask setting 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.setBuildTargetSameAsLaunchTarget setting to automatically set the build target when the launch/debug target is changed. #4519 @nikita-karatun
  • Add cmake.additionalBuildProblemMatchers setting to define custom problem matchers for build output. Supports tools like clang-tidy, PCLint Plus, cppcheck, or custom scripts integrated via add_custom_command/add_custom_target. #4077
  • Support targetName argument 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 intelliSenseMode validation in CMake Presets. #4815 @halflifefan
  • Support string arrays in kit cmakeSettings to pass CMake lists without escaping semicolons (e.g., "LLVM_ENABLE_PROJECTS": ["clang", "lld"]). #4503
  • Add cmake.outlineViewType setting 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.visualStudioArguments property, this is the extra arguments that would be passed to the vcvarsall.bat file 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.json vs generic VS Code tasks.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.