2014-01-08 62 views
2

在VisualStudio中,當您編寫函數時,它可以摺疊爲輪廓,每個人都知道它。您也可以使用#pragma region#pragma endregion手動指定代碼區域,以便它可以摺疊。然而,我發現一個問題,如果任何摺疊的代碼塊在#pragma region之內,它們就不能再崩潰了。有什麼辦法解決它?關於在Visual Studio中使用#pragma區域的摺疊代碼塊

<code>funcA()</code>,<code>funcB()</code>, <code>funcC()</code> can be collapsed

After I add <code>#pragma region</code>, they cannot collapse independently.

+1

你使用VS2010嗎? VS2012顯然已經修復了這個問題。 –

回答

0

是啊,這問題存在

一種解決方法有時工作原理是利用概述 - >崩潰的定義,然後再展開每個塊。

9

還有其他幾個也更好,靈活的方式比#pragma region你可以在VS崩潰代碼:

方法1:使用{...},而不是它本身支持代碼VS.崩潰

  1. 啓用選項:Tools->Text Editor->C/C++->Formatting->OutLine Statement Blocks->True

  2. 把你在不同的範圍{...},那麼它會崩潰的代碼在不同的範圍:

    enter image description here


方法2:使用鍵盤快捷鍵摺疊你想要的代碼:

  • CTRL + M + O將全部摺疊。

  • CTRL +中號 + 大號將全部展開。

  • CTRL +中號 + P將全部展開,並禁用概述。

  • CTRL +中號 + 中號將摺疊/展開當前部分。


,值得指出的是,方法#1工作更好地爲普通的代碼片斷。對於函數,因爲與we cannot have functions inside functions in C++類似,我們不能將函數放在{...}定義的範圍內。幸運的是,我們仍然可以通過爲每個作用域創建名稱空間來爲函數使用方法#1。或者簡單地說,使用方法#2。

+0

我只是想知道,在{}下可以存在多少個函數?難道它沒有其他格式? –

+0

@Digital_Reality這個方法對於簡單的代碼片段更好,而不是函數,類似於[我們不能在C++中的函數內部有函數](http://stackoverflow.com/questions/4324763/c-can-we-have-功能-內部函數)。 「擰其他格式」是什麼意思? – herohuyongtao

+0

那麼,OP的問題是特定於他的地區內的功能。所以我覺得不適合他的需求。但很高興知道,謝謝! –

相關問題