2010-06-16 68 views
8

问题是:代码库中有许多文件有多个使用#if defined(...)指令针对每个目标平台有条件编译的块。由于典型的程序员主要在其中一个平台上工作,即使代码块在Visual Studio 2005编辑器中灰显,也很难用这些大块非活动代码块来阅读和导航代码。如何折叠所有不会在Visual Studio中编译的#ifdefs块?

有人有一个功能的想法,只折叠未编译但仍然存在于源文件中的代码块。

回答

4

据我所知,默认情况下不能折叠不活动的预处理器区域,并且似乎没有提供该功能的扩展。

也就是说,你所能做的就是改变不活动的预处理器文本的呈现方式(至少在VS2012上),所以它不那么让人分心,因此实际编译的代码更易于阅读。

尝试这些设置:

Tools > Options > Text Editor > C/C++ > Formatting: 
Show Inactive Blocks : true 
Disable Inactive Code Opacity : false 
Inactive Code Opacity Percent: 30 

默认值是65,但我觉得30名的作品更好,如果你使用黑暗的主题。

您还可以进一步与Visual Studio 2012 Color Theme Editor调整颜色,以进一步增加可读性(例如,如果你喜欢的方式崇高文本渲染代码)

+0

在vs2013不存在:( – foobar 2015-03-05 08:17:44

+0

@foobar:是的,它是它在View下而不是格式化。 – Cameron 2015-05-29 21:06:05

相关问题