关于在 Visual Studio 中使用 #pragma region 折叠代码块
Posted
技术标签:
【中文标题】关于在 Visual Studio 中使用 #pragma region 折叠代码块【英文标题】:About collapsing code block in Visual Studio using #pragma region 【发布时间】:2014-01-08 19:19:53 【问题描述】:在 VisualStudio 中,当您编写一个函数时,它可以折叠成轮廓,这是每个人都知道的。您也可以使用#pragma region
和#pragma endregion
手动指定代码区域,以便它可以折叠。但是我发现了一个问题,如果任何折叠的代码块在#pragma region
内,它们就不能再折叠了。有什么办法解决吗?
【问题讨论】:
你用的是VS2010吗?这个问题显然已经在 VS2012 中修复了。 【参考方案1】:除了#pragma region
,还有其他几种更好更灵活的方法可以在 VS 中折叠代码:
方法一:改用...
,VS原生支持代码折叠。
启用选项:Tools->Text Editor->C/C++->Formatting->OutLine Statement Blocks->True
。
把你放在不同的作用域...
,那么它会折叠不同作用域的代码:
方法二:使用键盘快捷键折叠你想要的代码:
CTRL + M + O 将全部折叠。
CTRL + M + L 将全部展开。
CTRL + M + P 将全部展开并禁用大纲。
CTRL + M + M 将折叠/展开当前部分。
值得注意的是,方法#1 更适用于纯代码 sn-ps。对于函数,因为类似于we cannot have functions inside functions in C++,我们不能将函数放在...
定义的范围内。幸运的是,我们仍然可以通过为每个作用域创建命名空间来将方法#1 用于函数。或者简单地说,使用方法#2。
【讨论】:
我只是想知道,有多少函数可以驻留在 下?它不会破坏其他格式吗? @Digital_Reality 这种方法更适用于纯代码 sn-ps,不适用于函数,类似于 we cannot have functions inside functions in C++。screw other formatting
是什么意思?
好吧,OP 的问题是针对他所在区域内的功能的。所以我猜不适合他的需要。但很高兴知道,谢谢!
@Digital_Reality 对于函数,最好使用方法2。
@Digital_Reality 已更新,添加了如何将方法 #1 用于函数。【参考方案2】:
是的,这个问题存在
有时可行的一种解决方法是使用大纲 -> 折叠到定义,然后重新展开每个块。
【讨论】:
以上是关于关于在 Visual Studio 中使用 #pragma region 折叠代码块的主要内容,如果未能解决你的问题,请参考以下文章
项目在 Visual Studio 2015 PrivateAssemblies 中找不到 dll
如何在/使用 Visual Studio 2010 中为 64 位 Windows 构建 libcurl?
关于在Visual Studio2010中如何卸载Visual Asixist这个插件?为啥将它卸载后Visual Studio启动后仍然有