首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Visual Studio Code CMake工具扩展两项更新来了

东西来了

Visual Studio Code CMake工具扩展的2020年2月更新现在已经可用。在这次更新中,我们带来了大家呼声最高的两项功能特性:基于文件的API支持和多根目录工作区支持。这又是什么神仙玩意?请看下面的详细分解。

多根目录工作区支持

在最新版的CMake工具扩展中,我们添加了多根目录工作区的特性。这意味着显著你可以拥有两个或者更多的目录来存放一个根CMakeLists.txt文件并在Visual Studio Code中并行打开。当一个工作区中包含有多个目录时,CMake工具扩展将会状态栏的左侧显示[当前活动的目录]。当前活动的目录指的是一个可以执行所有CMake相关指令的目录,这些指令包括:configure, build, debug等。在下面的图片中,显示了一个活动的目录CMakeProject-1。

在默认情况下,这个活动的目录将会根据你打开的文件来进行自动切换。在目录[CMakeProject-1]中查看或者编辑某一个文件将会使得[CMakeProject-1]变为一个活动的目录,同理,在目录[CMakeProject-2]中查看或者编辑某一个文件将会使得[CMakeProject-2]变为一个活动的目录。除此之外,你还可以在状态栏选择活动的目录或者执行[CMake: Select Active Folder]指令临时修改活动的目录。

你还可以通过设置[CMake: Auto Select Active Folder]属性为[false]来禁用这一行为。可以使用指令[Workspaces: Open Workspace Configuration File]来打开工作区配置。如果[cmake.autoSelectActiveFolder]被设置为[false],则你的活动目录只会在你手动执行[CMake: Select Active Folder]指令时才发生改变。

最后,CMake工具扩展还添加了一些新的指令,如[CMake: Configure All Projects]和[CMake: Build All Projects]用来将现已存在的CMake指令应用到你的工作区的所有目录中。这些指令只有当你的工作区中有至少2个目录时可用。

在[CMake: Project Outline]视图中,还有一些其他配置,编译,清理,重新编译和重新配置所有工程的指令。

基于文件的API

首先,感谢KoeMai提出这个PR!CMake v3.14开始引入了基于文件的API,这一特性可以帮助客户(类似CMake工具扩展这样的客户)获取CMake生成的)获取CMake生成的关于底层编译系统的语义信息。另外,还可以通过这个特性来在编译系统开始生成代码之前编写查询文件。在编译系统生成阶段,CMake会尝试读取这些查询文件并行为客户写入对象模型响应文件。在之前的版本中,CMake工具扩展仅支持[cmake-server]模式,这种模式已经在CMake v3.15中被废弃。基于文件的API提供了一种更快更流水线式的方式来生成工程的结构化信息,因为它不再采用CMake的server模式(这种方式比较耗时),而是采用读取响应文件的方式来工作。

在最新版本的CMake工具扩展中,我们添加了对基于文件的API的支持。我们添加了[CMake: CMake Communication Mode]这一配置项来用于进行工作模式切换,在默认情况下,我们的工作方式是[automatic],以下是可以选择的工作模式:

> automatic: 如果CMake版本是v3.14及以上的则采用file-api,否则fall back到cmake-server模式。

> serverApi

> legacy: 用于v3.7版本及更旧版本的CMake,有些功能将不可用。

总结

此次新增的两项新功能进一步的强化了Visual Studio Code对CMake工程的支持力度,让我们更加专注在业务开发上。但是,万一我的关注点不在业务上呢?

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200222A0FRDV00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券