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

如何配置CMakePresets.json阻止Visual Studio同步vcpkg_installed目录?

解决Visual Studio远程同步时排除vcpkg_installed目录的正确配置

要让Visual Studio在通过rsync同步代码到远程系统时排除vcpkg_installed目录,你需要确保CMakePresets.json的配置结构正确,且显式包含所有需要排除的目录(包括默认项)。以下是正确的配置写法:

完整配置示例

在你的CMakePresets.json中,找到对应的远程构建preset,在其vendor字段下添加或修改microsoft.com/VisualStudioRemoteSettings/CMake/1.0的配置:

{
  "version": 3,
  "configurePresets": [
    {
      "name": "你的远程构建预设名称",
      "generator": "Ninja", // 或你使用的其他生成器
      "binaryDir": "${sourceDir}/build",
      // 其他预设配置(如toolchain、cacheVariables等)
      "vendor": {
        "microsoft.com/VisualStudioRemoteSettings/CMake/1.0": {
          "copySourcesOptions": {
            "exclusionList": [
              ".vs",
              ".git",
              "out",
              "build",
              "vcpkg_installed"
            ]
          }
        }
      }
    }
  ]
}

关键注意事项

  • 配置位置正确:必须将copySourcesOptions放在对应远程构建preset的vendor字段下,而非全局配置或其他非远程preset中。
  • 包含默认排除项:exclusionList需要显式列出默认排除的.vs、.git、out、build目录,再加上vcpkg_installed——直接只写vcpkg_installed会覆盖默认列表,但Visual Studio可能会优先使用默认配置,导致自定义项不生效。
  • 检查JSON语法:确保配置没有语法错误(如逗号缺失、括号不匹配),否则Visual Studio会忽略该配置。
  • 生效方式:修改配置后,重新加载CMake项目,或重启Visual Studio确保配置被读取。

验证方法:查看Visual Studio输出窗口中的rsync命令,确认参数中包含--exclude=vcpkg_installed,即可说明配置生效。

内容的提问来源于stack exchange,提问作者David Partridge

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 00:58:13