Visual Studio 2017 15.7预览版3 现已提供,其中包括对CMake工具的一些改进。 最新的预览版比以往任何时候都更能控制如何可视化、构建和管理CMake项目。
请下载预览并查看最新的CMake特性,如目标视图、单个文件编译以及对项目配置的更多控制。 一如既往,我们也希望听到您的反馈。
如果您是visualstudio中CMake的新手,请查看 如何开始 .
CMake目标视图
visualstudio的最新预览提供了一种可视化CMake项目的源代码和结构的新方法。 在visualstudio中打开CMake项目时,可以在解决方案资源管理器中看到该项目在磁盘上的布局。 根据项目的组织方式,此基于磁盘的视图可能无法很好地反映CMake项目的实际组织。 如果项目包含文件夹外的文件,或者根据活动配置有条件地包含文件,则尤其如此。
新添加的目标视图允许您在解决方案资源管理器中可视化CMake项目的结构。 在这个视图中,源代码被组织在各个CMake目标和项目下。 您可以通过在解决方案资源管理器中右键单击单个目标来构建和调试它们。 您还可以在References节点下查看目标之间的关系和依赖关系。 您还可以使用更多选项自定义目标和源代码的显示结构—请参阅 组织目标和来源如下。
通过单击解决方案资源管理器中的“视图”下拉列表,可以显示“目标”视图:
如果您以前使用过CMake生成的项目和解决方案,您应该感到宾至如归。 有一个顶级项目节点,CMake的visualstudio生成器将在该节点中创建一个解决方案,每个CMake目标都会显示在该项目下及其源代码。 CMake生成器将为每个目标创建单独的MSBuild项目。 但是,要记住的一点是,虽然视图是类似的,但不会创建任何MSBuild项目或解决方案。 视图直接由CMake文件的内容驱动。
组织目标和来源
您还可以控制目标和源代码的组织。 可以通过启用 使用u文件夹 设置 文件夹 目标的属性。 源代码可以使用 源组 . 这些指令适用于所有CMake IDE生成器(包括visualstudio生成器),因此如果您已经设置了它们,它们也将适用于Targets视图。
Targets视图显示了CMake项目结构的表示。 当前,无法从“目标”视图操纵此结构。 要修改项目的结构,需要手动修改项目的CMake列表文件。
CMake项目的单文件编译
现在,您可以构建属于CMake项目的单个文件,就像构建MSBuild项目一样。 右键单击“解决方案资源管理器”中的任何文件,然后选择“编译”或通过CMake主菜单在编辑器中打开构建文件:
CMake缓存生成设置
默认情况下,当您第一次打开CMake项目时,visualstudio会自动为它们配置和生成缓存。 这允许IDE提供丰富的编辑、构建和调试体验,通常不需要额外的配置。 但是,我们知道这并不是对所有项目都有意义,因此我们现在提供新的设置来控制CMake项目缓存的生成:
我们建议使用默认设置,但如果您通常使用需要额外配置的项目,或者只希望对VisualStudio生成CMake项目缓存的方式和时间有更多的控制,则可能需要更改此设置。 如果禁用缓存的自动生成,Visual Studio将提醒您在编辑属于CMake项目的代码之前生成:
向我们发送反馈
您的反馈是确保我们提供最佳CMake体验的关键部分。 我们很想知道怎么做 Visual Studio 2017预览版 为你工作。 如果您对CMake工具有任何反馈,请联系 cmake@microsoft.com . 一般问题请 报告问题 .