2010-06-16 70 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

相關問題