You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何自定义VS Code中CMake Tools的CMake: Quick Start生成的CMakeLists.txt?

自定义VS Code CMake Tools Quick Start生成的CMakeLists.txt

方案1:修改扩展内置模板

CMake Tools的CMake: Quick Start依赖内置模板生成文件,你可以直接修改模板:

  • 找到CMake Tools扩展的安装目录:
    • Windows:%USERPROFILE%\.vscode\extensions\ms-vscode.cmake-tools-<版本号>
    • macOS/Linux:~/.vscode/extensions/ms-vscode.cmake-tools-<版本号>
  • 进入resources/templates文件夹,编辑CMakeLists.txt模板
  • 把Address Sanitizer配置整合到模板中,示例如下:
cmake_minimum_required(VERSION 3.0.0)
project(${PROJECT_NAME} VERSION 0.1.0)

include(CTest)
enable_testing()

add_executable(${PROJECT_NAME} main.cpp)

# Debug模式自动启用Address & Undefined Sanitizer
if(CMAKE_DEFAULT_BUILD_TYPE MATCHES "Debug")
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fsanitize=undefined -fsanitize=address")
  target_link_options(${PROJECT_NAME}
    BEFORE PUBLIC -fsanitize=undefined PUBLIC -fsanitize=address
  )
endif()

set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})

include(CPack)

方案2:使用自定义模板(推荐,避免扩展更新覆盖)

为了避免扩展更新重置模板,可使用自定义模板:

  1. 本地创建CMakeLists.txt.template文件,内容同上
  2. 打开VS Code设置(快捷键Ctrl+,),搜索cmake.quickstartTemplatePath
  3. 将该设置的值改为自定义模板文件的绝对路径

此后运行CMake: Quick Start时,会自动使用你的模板生成带Sanitizer配置的项目。

关键提示

  • 确保编译器支持Sanitizer(GCC、Clang原生支持,MSVC需2019及以上版本)
  • 配置仅在Debug模式生效,适配调试场景
  • 使用${PROJECT_NAME}变量替代硬编码的项目名,适配任意新项目名称

内容的提问来源于stack exchange,提问作者Shimada_R.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 06:10:37