在Visual Studio中的CMake支持 – 目标视图,单个文件编译和缓存生成设置

[原文发表时间] 2018/4/9 [原文发表地址] CMake Support in Visual Studio – Targets View, Single File Compilation, and Cache Generation Settings Visual Studio 2017 15.7预览版本3现已发布,其中包括对CMake工具的一些改进。最新的预览版本在如何显示,构建和管理CMake项目上比以往更加好控制。 请下载预览版本并查看最新的CMake功能,例如目标视图,单个文件编译以及对项目配置的更多控制。与往常一样,我们很乐意听到你的反馈。 如果你是Visual Studio中兼容的CMake的初使用者,请查看如何开始。 CMake目标视图 Visual Studio的最新预览版本提供了一个新方法来查看你的CMake项目源和结构。当你在Visual Studio中打开一个CMake项目时,你会在解决方案资源管理器中看到项目的磁盘布局。根据你的项目组织方式,这个基于磁盘的视图可能不能很好地反映你的CMake项目的实际结构情况。如果你的项目包含文件夹之外的文件,或者根据活动配置有条件地包含文件,则基于磁盘的视图尤其不利于观察。 新添加的目标视图允许你在解决方案资源管理器中可视化CMake项目的结构。在这个视图中,源代码是在单个CMake目标和项目下被组织的。你可以通过在解决方案资源管理器中通过右键单击来构建和调试单个目标。你还可以在参考节点下看到目标之间的联系和依赖关系。你还可以有更多的选项来自定义目标和源代码的显示结构—-请参阅下面的组织目标和源代码。 你可以通过单击解决方案资源管理器中的视图下拉菜单来显示目标视图: 如果你之前用过CMake生成的项目和解决方案,那么你应该感到很熟悉。这儿有一个顶级项目节点,CMake的Visual Studio生成器将生成一个解决方案,并且每个CMake目标都会和它的源代码下显示在此项目下。CMake生成器将为每个目标创建单独的MSBuild项目。但有一点需要记住,尽管视图很相似,但没有创建MSBuild项目或解决方案。该视图直接由CMake文件的内容驱动。 组织目标和代码源 你还可以控制目标和源代码的组织。可以通过启用use_folders并设置目标的文件夹属性来组织目标。源代码可以通过使用source_groups在目标下进行组织。这些指令适用于所有CMake IDE生成器(包括Visual Studio生成器),因此如果你已经设置了它们,它们就可以使用目标视图。 目标视图显示了CMake项目结构的表示。目前,你无法从目标视图中操作此结构。要修改项目的结构,你需要手动修改项目的CMake列表文件。 CMake项目的单个文件编辑 你现在可以像创建MSBuild项目一样构建属于CMake项目的单个文件。右键单击解决方案资源管理器中的任何源文件,然后选择“编译”或通过主CMake菜单来编辑在编辑器中打开的源文件: CMake缓存生成设置 默认情况下,当你第一次打开一个CMake项目时,Visual Studio会自动为你的CMake项目选择配置并生成缓存。 这使得IDE可以提供丰富的编辑,构建和调试体验,通常不需要额外的配置。但是,我们知道这中设置并不是对所有项目都是方便的,所以我们现在提供新的设置来控制CMake项目缓存的生成: 我们建议使用默认设置,但如果你通常需要额外配置的项目,或者想要更多地控制Visual Studio生成CMake项目缓存的方式和时间,则可能需要更改此设置。如果禁用自动生成缓存,Visual Studio会提醒你在编辑属于CMake项目的代码之前生成: 发送反馈 你的反馈是确保我们能够提供最佳CMake体验的关键部分。我们很想知道Visual Studio 2017 Preview如何为你工作。如果你有任何特定于CMake Tools的反馈,请联系cmake@microsoft.com。对于一般问题,请报告问题。

0

Visual Studio Code C/C++ 扩展2018年3月更新

[原文发表地址] Visual Studio Code C/C++ extension March 2018 update [原文发表时间] 2018/3/29 今天,我们很高兴地宣布2018年3月的Visual Studio Code C/C++ 扩展更新了!此次更新包括改进了本地和全局范围的自动完成功能,包括对系统includes和defines的配置过程的简化,都为了实现更好的智能感知体验。你可以在发行说明中找到完整的更改列表。 我们要感谢所有使用我们本月的内部构建并向我们发送反馈的人!我们修复了你们所报告的问题并改进了你们向我们提出的一些功能建议,这些帮助我们塑造了今天这个发布版本。如果你还不是内部人员,但有兴趣,我们很乐意你加入VS Code C/C++内部计划。   本地和全局范围的自动完成功能 尽管此功能并非是一个全新的功能,但当你输入本地和全局变量或是函数时智能感知提供了自动完成建议的语义感知列表。与以前的方法相比,新的自动完成体验为你提供了更短的和更相关的建议列表,使编写C/C++代码变得更加容易。 从编译器自动检索系统includes和defines 智能感知现在从基于GCC / Clang的编译器中自动检索系统includes和defines,从而无需在“includePath”和“定义”设置中进行手动配置。 在Mac和Linux上,智能感知引擎通过在系统上搜索已安装的编译器来自动选择编译器作为默认编译器。 你可以在c_cpp_properties.json文件中新加的“compilerPath”设置来检查正在使用哪个编译器,并可以根据需要更改该设置的值。“compilerPath”设置也接受影响系统定义返回的编译器参数。 另外,新加的“cStandard”和“cppStandard”两个设置允许为智能感知设置明确的语言标准。 强制智能感知处理任意的头文件 如果你希望智能感知可以处理那些未明确在#include语句列出的头文件,现在可以使用新加的设置“forcedInclude”来指定此功能。 智能感知引擎在查看#includes之前将首先处理这些头文件。 告诉我们你的想法 下载Visual Studio Code的C / C ++扩展,试用它,让我们知道你的想法。在GitHub上提出问题和建议。如果你尚未向我们提供反馈意见,请参阅此快速调查以帮助你制定符合你需求的扩展程序。你也可以在Twitter上找到我们(@VisualC)。

0