关于使用#pragma region在Visual Studio中折叠代码块

时间:2014-01-08 19:19:54

标签: c++ c visual-studio pragma

在VisualStudio中,当你编写一个函数时,它可以折叠成轮廓,每个人都知道。您还可以使用#pragma region#pragma endregion手动指定代码区域,以便它可以折叠。但是我发现了一个问题,如果任何折叠的代码块在#pragma region内,它们就不能再崩溃了。有什么办法可以解决吗?

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

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

2 个答案:

答案 0 :(得分:9)

还有其他几种比#pragma region更好更灵活的方法来折叠VS中的代码:

方法1:使用{...}代替原来支持VS中的代码折叠。

  1. 启用选项:Tools->Text Editor->C/C++->Formatting->OutLine Statement Blocks->True

  2. 将您置于不同的范围{...},然后它会折叠不同范围内的代码:

    enter image description here


  3. 方法2:使用键盘快捷键折叠您想要的代码:

    • CTRL + M + O 将全部崩溃。

    • CTRL + M + L 将全部展开。

    • CTRL + M + P 将展开全部并禁用大纲。

    • CTRL + M + M 将折叠/展开当前部分。


    值得注意的是,方法#1对普通代码片段效果更好。对于函数,因为类似于we cannot have functions inside functions in C++,我们不能将函数放在{...}定义的范围内。幸运的是,我们仍然可以通过为每个范围创建名称空间来使用方法#1。或者简单地说,使用方法#2。

答案 1 :(得分:0)

是的,存在问题

有时可行的一种解决方法是使用大纲 - &gt;崩溃到定义,然后重新扩展每个块。