8
问题是:代码库中有许多文件有多个使用#if defined(...)指令针对每个目标平台有条件编译的块。由于典型的程序员主要在其中一个平台上工作,即使代码块在Visual Studio 2005编辑器中灰显,也很难用这些大块非活动代码块来阅读和导航代码。如何折叠所有不会在Visual Studio中编译的#ifdefs块?
有人有一个功能的想法,只折叠未编译但仍然存在于源文件中的代码块。
问题是:代码库中有许多文件有多个使用#if defined(...)指令针对每个目标平台有条件编译的块。由于典型的程序员主要在其中一个平台上工作,即使代码块在Visual Studio 2005编辑器中灰显,也很难用这些大块非活动代码块来阅读和导航代码。如何折叠所有不会在Visual Studio中编译的#ifdefs块?
有人有一个功能的想法,只折叠未编译但仍然存在于源文件中的代码块。
据我所知,默认情况下不能折叠不活动的预处理器区域,并且似乎没有提供该功能的扩展。
也就是说,你所能做的就是改变不活动的预处理器文本的呈现方式(至少在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调整颜色,以进一步增加可读性(例如,如果你喜欢的方式崇高文本渲染代码)
在vs2013不存在:( – foobar 2015-03-05 08:17:44
@foobar:是的,它是它在View下而不是格式化。 – Cameron 2015-05-29 21:06:05