CMake Tools 1.25.10更新:构建命令防护、DevTools改推荐及多项目测试修复
Visual Studio Code 是微软提供的免费代码编辑器,支持 macOS,并为 Intel 与 Apple 芯片 Mac 提供适配版本。软件集代码编辑、调试、Git 源代码管理、集成终端和扩展市场于一体。
CMake Tools 1.25.10加强通过shell运行构建工具时的参数防护,将C/C++ DevTools自动安装改为条件推荐,并修复多项目测试和超长日志解析。升级应核对扩展版本、CMake路径及现有工具链,不能视为VS Code或CMake本体更新。
微软发布VS Code扩展CMake Tools 1.25.10,GitHub条目标记为正式发布而非预发布。更新防止构建工具路径与参数中的shell元字符被解释为额外命令,不再自动安装C/C++ DevTools,并修复多项目工作区测试与超长构建输出解析。这里更新的是CMake Tools扩展,不是CMake本体或VS Code主程序的新版本。

构建命令防护改进了什么
版本说明明确,扩展在通过shell运行构建工具时,会防止可执行文件路径及参数中的shell元字符被解释为命令,同时保留kit设置脚本与Visual Studio检测行为。这解决的是命令调用和参数解释边界,不意味着CMake项目中的全部构建脚本都变成无风险,也不能据此声称扩展不会运行项目命令。
依赖部分还修复隔离网络CI构建的包恢复问题,让依赖通过配置的Azure Artifacts源解析,并更新PostCSS、minimatch、URI解码及serialize-javascript以处理安全漏洞。公告没有给出统一漏洞严重性评分或利用条件,维护者应核对实际项目路径与构建环境,不从“安全修复”概括推出所有历史安装都已被利用。

C/C++ DevTools从自动安装改为条件推荐
1.25.10停止随CMake Tools自动安装C/C++ DevTools。推荐通知需要同时满足几个条件:当前打开CMake项目、GitHub Copilot已安装(包括捆绑的Copilot)、且C/C++ DevTools尚未安装。满足时,每个会话最多推荐一次,不能把它理解为每次构建都会弹出或所有用户都会收到。
在通知中选择Install会直接安装扩展;普通关闭只会暂时略过,重新加载或重启VS Code后仍可能再出现。选择Don't Show Again则跨工作区与会话禁用后续推荐。这是推荐行为改变,不是卸载用户已安装的DevTools,也没有说明必须安装它才能继续进行普通CMake配置与构建。
测试发现与多根工作区问题得到修复
测试对象缺少命令或属性时,旧逻辑可能无法完成测试发现,例如相应目标尚未构建。本次对该场景进行修复。使用者如果之前在构建目标前看不到测试,升级后可按原流程重新确认发现结果,但仍应检查项目是否真正定义并构建了需要执行的测试目标。
多根工作区方面,官方修复Test Explorer运行单个测试时报“Could not determine the test program”的问题:当工作区包含多个CMake项目文件夹时,创建Test Explorer的项目以外的其他项目可能受到影响。同一测试的调试原本已经可以工作,因此不应把这次修复扩大成全部调试功能过去都失效。
超长输出与语法高亮有何变化
版本降低GCC、MSVC linker、GHS及Diab诊断解析器处理非常长的构建输出行时的额外CPU使用。官方给出的例子包括Xcode生成器的xcodebuild命令行,以及ninja -v输出。它针对输出解析开销,不是编译器本身的优化,不能据此承诺工程编译时间统一缩短。
CMake语法高亮也修正参数列表里的关键字冲突。例如目标名称、属性值或文件基本名恰好与命令或属性关键字相同,不应再被宽泛的顶层规则错误切分或着色;add_library、add_executable的目标类型关键字,以及set_target_properties的PROPERTIES和属性名参数,也调整了作用域识别。这些变化改善编辑显示,不代表工程构建规则被自动改写。
更新前后需要核对的工具与配置
CMake Tools依赖系统中实际可用的CMake、编译器、调试器及构建工具。项目说明要求CMake可执行文件位于PATH,或通过cmake.cmakePath指向具体位置;也可使用Visual Studio安装附带的CMake。扩展更新不能替代这些工具链前提,若找不到CMake,应先检查所用环境和路径。
官方入门文档推荐用CMake Presets管理共享配置,通过CMake: Select Configure Preset与CMake: Select Build Preset选择配置和构建预设;未使用CMakePresets.json的项目可按Kits/Variants流程配置。建议升级后沿用现有项目的一套配置、构建和测试场景验证,尤其检查含特殊字符路径、多项目测试和大量构建日志的流程,而不是只确认扩展已加载。
怎样取得本次扩展更新?
可以通过VS Code扩展面板或Marketplace安装CMake Tools,正式GitHub发布条目也提供cmake-tools.vsix包。应确认扩展名称与发布方,并记录扩展版本;不要把安装该VSIX误认为同时升级了VS Code或系统CMake。本文依据官方说明分析变化,未虚构实机编译、速度或安全测试结果。
火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。
















