Visual Studio 2017 15.8预览版3 它包括对CMake工具的一些改进。除了一些修复之外,我们还通过添加配置模板简化了配置CMakeSettings.json文件的方式。
如果您是visualstudio中CMake的新手,请查看 如何开始 .
CMake的配置模板
如果您在过去创建了一个CMakeSettings.json文件来定制项目的设置,那么您可能知道该文件可能有点令人望而生畏。安装了桌面和Linux工作负载后,默认的CMakeSettings.json模板长度超过100行。我们收到来自社区的反馈,该文件很难解包和理解,因此我们简化了填充默认CMakeSettings.json文件的方式。我们还提供了一种直接从配置选择器访问和编辑此配置文件的方法。
入门
当您第一次打开CMake文件夹时,我们现在只隐式地创建一个与当前操作系统匹配的调试配置。这样,您仍然可以启动并运行以本地计算机为目标,而无需创建CMakeSettings.json文件。但是,一旦您确实要添加或自定义CMake配置列表,就比以往任何时候都要容易:
单击“配置选择”下拉列表(F5按钮右侧)中的“管理配置…”将要求您选择最适合调试项目方式的模板。Visual Studio将所选模板添加到根CMakeLists文件文件夹中新创建的CMakeSettings.json中。
这包含了我们之前支持的所有配置,以及一些针对MinGW和ARM物联网设备的新配置。选择模板后,它将添加到CMakeSettings.json文件中。以“x86 Debug”为例,我们可以看到它产生了一个非常紧凑的CMakeSettings.json:
只有17行,这比这个文件在过去更易于管理。
添加新配置
创建此文件后,配置选择下拉列表中的“管理配置…”按钮将返回CMakeSettings.json文件。但是,这并不意味着不能向其中添加更多模板。要在创建文件后添加新模板,只需右键单击编辑器上的任意位置并选择“添加配置”:
或者,您可以在解决方案资源管理器中右键单击文件本身:
新选择的模板将附加到配置文件的末尾。
自定义配置模板(实验)
除了内置的配置模板外,我们还为您添加了一种创建自己模板的实验方法。在“工具”>“选项”>“CMake”下,现在有一个“CMakeSettings.json模板目录”条目:
您可以将其指向包含一个或多个包含CMake自定义模板的JSON文件的目录。这些文件可以有任何名称,并且基本上与标准CMakeSettings.json文件具有相同的格式。“配置”数组将被视为模板,并显示在模板选择器中。要在模板扇区中设置它们的描述,只需在配置的JSON中添加一个“description”字段。
我们很想知道你是如何使用它的,以及它是否适合你。您的反馈将帮助我们在未来版本的visualstudio中形成此功能。
社区报告的问题和其他改进
在最新的Visual Studio预览版中,我们修复了不少客户报告的问题,包括与我们的IDE与CTest集成有关的几个问题:
- CMake配置失败,输出窗口中有堆栈跟踪
- CMake+vcpkg问题
- 测试资源管理器和CTest从不同的目录运行
- C++快速操作创建成员函数定义返回未知错误
- CMake+测试:忽略环境变量
- 15.6中未检测到CMake测试
- CMake:testexplorer不会像CTest那样转义参数
- CMake缓存生成在Catch2存储库中陷入困境
- 测试资源管理器无法正确解释WILLu FAIL属性设置为TRUE的CTest测试
- CMake View all build tests不显示所有ctest
- CMake:运行静态代码分析无法检测到c++17
- VisualStudio构建工具2017(7.7.1)缺少用于CMAGE的Visual C++工具
除了社区报告的问题外,我们还解决了以下影响客户的问题:
- 修复了关闭某些CMake项目时的长延迟
- 打开一个新的CMake项目而不关闭以前打开的项目将不再锁定IDE
- 如果在“.vscodesettings.json”中定义了筛选器,则CMake项目代码扫描不再永远等待
- C#CMake项目现在默认为visualstudio生成器,F5启动托管/混合调试器(实验性)
再次感谢所有报道这些问题的人!
除了对CMake设置和配置的更改之外,最新版本的CMake工具还包括改进的 单文件编译 . 所有错误和警告现在都显示在错误列表中,而不是仅显示在输出窗口中。
向我们发送反馈
您的反馈是确保我们提供最佳CMake体验的关键部分。 我们很想知道怎么做 Visual Studio 2017预览版 为你工作。 如果您对CMake工具有任何反馈,请联系 cmake@microsoft.com . 一般问题请 报告问题 .