2019 vs 安装odt_VS Code C/C++ 扩展:2019年7月更新

近日,VS开发团队隆重宣布:VS Code C/C++扩展2019年7月更新正式发布。这个扩展包含了许多激动人心的新功能,其中包括:语义着色,IntelliSense配置界面增强以及IntelliSense缓存。

对于我们这些热爱C++的人来说,这证明了C++在VS开发团队心目中的地位,确实是一个好消息。那么,我们就来看看这些新的功能。

语义着色

长久以来,语义着色一直是开发者希望VS开发团队增加的一项特性。但是这项功能对于VS开发团队来说,确实是一个极大的挑战。VS虽然具备二次开发API,但是在其设计之初,并没有对应语义高亮的API,同时在VS Code server protocol中,也没有提供对语义着色的支持。另外,他们也无法通过编程的方式来访问主题的颜色配置。开发团队一度认为这个是一个不可能的任务,幸运的是,他们找到一种方法克服了种种困难,终于实现了这一特性。在这个实现方法中,他们通过TextEditorDecorations来对Token进行管理,同时通过对主题文件和VS Code配置来应用当前的配色。闲话不多说,看看下图:

5ddae82e97033ac647028b8bda0085e7.png

语义着色支持对上下文之外的Token进行着色,因此,它超越了传统的语法着色。举个栗子,如果你使用了一个在其他地方定义的变量,那么在语义着色的加持下,你可以看到如下的变化:

53b6d59aac9c24a72068127ba1f5d9d6.png

亲爱的朋友们,你们看到右图中的颜色变化了吗:是不是牛逼炸了?

结构体box在main函数之外定义,当在main函数使用它时,它的颜色已经变化了。这就是传说中的按语义来着色。

主题

我们可以通过VS Code中的颜色管理模块,来自定义语义着色中的颜色。具体还是需要参考VS Code的有关主题的文档,这里就不赘述了。

有一个需要注意的地方是,有许多没有被默认的C/C++ TextMate语法直接识别的Token,这些Token是不能被现有的VS Code主题所着色的,你当然可以在VS Code中自定义颜色。但是,你也可以通过全局设置或者主题设置来进行配置。主题的作者也可以在创建一个新的主题时参考这些配置项。

在全局设置中自定义颜色

找到你的settings.json文件,然后通过修改tokenColorCustomizations这个设置项来自定义主题颜色。如下图所示:

e14ce4cd207a23522d4b37719019a3d1.png

为一个主题自定义颜色

当然,你也可以在某一个主题上自定义颜色。在下面的例子中,我们可以修改VS的暗黑主题的颜色配置:

d1d4192fa74356b5d946ea060e65ed07.png

开发团队还创建了一些用于自定义VS暗黑和轻量主题的模板,基于这些模板,我们可以方便快速的自定义主题的颜色。

IntelliSense配置编辑器

VS开发团队分享到,开发IntelliSense配置编辑器的主要目的是提供另一种更加人性化的方式来配置IntelliSense,之前我们使用的方法时修改c_cpp_properties.json这个配置文件来达到这个目的。这个图形化的界面比配置文件更加简单,同时也可以更加容易的理解IntelliSense的各个配置的含义。很善解人意有没有?

选择,修改和添加配置

建立多个IntelliSense配置有时候会是一个很好的主意。比如,你可能需要在Debug模式需要尽可能丰富的代码结构化信息,但是在Release模式下,你主要是为了编译发行版本,代码的结构化信息也许不那么重要了,所以我们可以为Debug和Release这两种模式来创建各自对应的IntelliSense配置,这样在两种模式下切换时,可以自动加载各自的配置,从而提高编辑器的响应速度。我们可以选择一个已经存在的配置,如下图所示:

7afa6eac01b1b0116f11dd58f12adfd6.png

当然,你也可以编辑选择的配置:

45cf70b13885d9a0f50a88b416feae23.png

编译器路径列表

在编辑器中的”compiler path”下拉框中,我们可以看到被系统检测到的所有编译器的路径,可以根据项目的实际情况进行配置,如下图所示:

059ad8c6a889fabda7843fa35bebe78d.png

话说这罗马确实不是一天就建成的,VS之所以成为灭霸级的开发IDE,是因为有这样一波人,每天更新一点新特性,日积月累才建立起来的。好了,接下来继续新特性讲解。

IntelliSense缓存

在2019年3月的更新中,VS开发团队引入了IntelliSense缓存这一设计。设计这个缓存的目的,主要是为对头文件信息进行缓存,从而加快IntelliSense的工作速度。开发团队收到了许多来自GitHub社区的反馈,他们决定在2019年7月更新中对IntelliSense的默认路径进行一些修改。

默认路径

在之前的版本中,默认的IntelliSense的缓存路径是在工作空间(${workspaceFolder}/.vscode)的”.vscode”目录下。修改这个默认路径,可以解决一些在工作空间进行源码管理的问题。而且,因为缓存的大小被应用在缓存所在的位置上,另外如果总是在同一个地方存放缓存的话,会减少总体磁盘的缓存使用率。

具体来说,在新版本中,C_Cpp.intelliSenseCachePath配置的默认值有了变化:

在Linux和macOS上,它的值是:~/.vscode-cpptools,

在Windows上,它的值是:%LocalAppData%/Microsoft/vscode-cpptools

值得注意的一点是,如果你使用的是旧的IntelliSense缓存路径,那么这个扩展将会移除上次之前添加到${workspaceFolder}/.vscode目录的所有缓存。朋友们,别被这个地方给坑了!

期待您的反馈

一如既往的,VS开发团队十分重视各位开发者对新特性的反馈和建议。有兴趣的朋友,可以下载这个扩展并安装到你的VS Code,尝尝鲜,吃吃瓜,提提意见。

感谢阅读,本文来自Visual Studio博客。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值