禁止Visual Assist自动添加Override关键字
问题描述
Visual Assist是一款历史悠久的Visual Studio插件, 能够极大的提升C++开发效率. 但是某些时候智能过了头, 反倒成了开发效率的绊脚石, 例如在实现虚方法(Implement Virtual Methods)时自动添加的override
关键字.
|
|
使用Implement Virtual Methods后, Visual Assist帮我们生成如下代码:
|
|
Visual Assist在virtual void doSomething()
后面帮我们添加了一个override
关键字, 这个关键是符合c++11标准的. 但是一些老旧的编译器并不支持override
, 因此导致编译错误. 这使我们不得不手动删除所有生成方法后的override
关键字.
解决方案
Visual Assist没有直接提供选项来禁用override
关键字, 但是在其官方论坛咨询后得到如下链接:
Add the override identifier to Implement Interface
文章提到在2036之后的版本可以通过注册表来禁用override
关键字:
|
|
将UseOverrideKeywordInImplementInterface
的值改为0, 便可以禁用自动添加override
的功能, 注册表路径中的<IDE spec>
表示的是要应用的Visual Studio版本, 例如在Visual Studio 2013中, 对应的字段是VANet12
.
修改注册表前一定要记得首先关闭Visual Studio.
如果你怕麻烦, 也可以下载并运行这个文件来修改注册表(适用于Visual Studio 2013):