提高生产力:配色,模板参数过滤及IntelliCode

提高生产力:配色,模板参数过滤及IntelliCode

作者:BlogUpdater |  时间:2019-08-25 |  浏览:2100 |  评论已关闭 条评论

新的语义配色方案
早在之前的VS2019 v16.3 Preview 2中,开发团队就为C++开发者引入了新的语义配色方案。通过使用新的配色方案,开发者可以更加快速的熟悉代码结构,这对于大型代码库的阅读和开发十分有效。为了增强这一功能,VS开发团队这次创建了两种新的配色方案。当然,我们按自己喜欢的方式来自定义配色,具体来说,就是在Ctrl+Q弹出的搜索栏中输入”Change font”即可。

在Tools->Options->Text Editor->C++->View->Color Scheme中,我们可以在三种不同的配色方案中自由选择,它们分别是:Enhanced, Enhanced(Globals vs. Members) 和 Visual Studio 2017。默认情况下,Enhanced配色方案将被选择。值得注意的是,这些配色方案将会修改VS的默认颜色值,所以如果之前你已经自己定义了一个颜色,那么你需要将这个颜色恢复为默认值才能让新的配色方案生效,关于这点,我们将会在下面的”Customizing Individual Colors”部分再详细谈一下。

Enhanced Scheme
默认的配色方案为Enhanced Scheme。相比于之前的VS2017,下面的的颜色配置项目会有所变化:
> 函数
> 本地变量
> 转义字符
> 控制流(例如if, else, for, return)
> 字符串转义字符
> 宏

下面是启用了Enhanced配色的界面截图,左边是Light主题,右边是Dark主题。

Enhanced(Globals vs. Members) Scheme
另外,开发团队还添加了另一种配色方案:Enhanced(Globals vs. Members)。这个配色方案主要用来更容易的区分代码的作用域。例如,全局函数和全局变量将共享相同的颜色,而成员方法和成员数据将共享另一种颜色。
让我们来看看这种配色下的界面,请注意下图中,getArea成员函数中调用了pow系统库函数,而这个系统调用被标记为了一个全局函数。

Visual Studio 2017 Scheme
最后一种是Visual Studio 2017的配色,如果你是一个怀旧的人,可以继续使用这个方案。

Customizing Individual Colors
对于配色这个事情,每个人的审美都不一样,所以开发团队也向开发者开放了所有颜色的自定义功能。具体来说,如果你想自定义任何元素的颜色,都可以在这里进行修改:Tools > Options > Environment > Fonts and Colors。

在上图中,如果想恢复颜色的默认值,只需要点击右上角的”Use Defaults”即可。

模板参数过滤
之前的VS中,当工程里大量使用了基于模板的库(例如STL)时,在调用堆栈钟会产生大量的模板展开代码,我们就像看天书一般,而大量有用的信息都被这些模板展开代码给淹没了。

现在,事情看起来有点改观了。
在新版本中,如果你在调用堆栈窗口里右键弹出上下文菜单,可以切换”Show Template Arguments”开关,然后就可以过滤掉这些模板展开代码了,从而可以显示其他更加重要的调用信息。

默认启用IntelliCode
在VS2019 v16.2中,开发团队引入了C++ IntelliCode这个特性。新版本16.3 Preview 2中,开发团队对这一特性进行了更新,并将它作为默认启用。这意味着,安装完新版本16.3 P2,就可以直接使用IntelliCode了。其中非常引人注目的是,它会基于机器学习的预测模型对自动完成列表进行优先级呈现,有图有真相:

在上图中,我们调用了STL的sort函数,当我们输入完std::begin后,系统会预测你准备输入std::end,所以将优先呈现这个候选项到自动完成列表的顶部,并标以星号。是不是更有感觉了?

总结
软件开发是一门脑力活,但是它也需要一定的体力。这次的几个小革新,可以让你在编码的时候更加轻松,更为享受编码的过程,简单的说:它提升了你的生产力。

标签:

评论已关闭。