如何在 Visual Studio 2008 中折叠选定的代码块?
Posted
技术标签:
【中文标题】如何在 Visual Studio 2008 中折叠选定的代码块?【英文标题】:How do I collapse selected chunks of code in Visual Studio 2008? 【发布时间】:2009-10-26 17:14:04 【问题描述】:在 Visual Studio 2008 中:有没有办法让我自定义折叠代码位,类似于我如何自动折叠 cmets 块?
【问题讨论】:
【参考方案1】:您的代码需要是一个块,根据需要被包围:
大括号 C# 中的#region
和 #endregion
C/C++ 中的#pragma region
和 #pragma endregion
如果不能折叠语句块,则需要启用此功能:
工具 -> 选项 -> 文本编辑器 -> C/C++ -> 格式化 -> 检查“大纲”中的所有内容
(在 Visual Studio 2013 中是工具 -> 选项 -> 文本编辑器 -> C/C++ -> 视图)
然后,重新打开源文件以重新加载大纲。
【讨论】:
嗯,它工作得很好,但不幸的是,它本质上是从我的程序中注释掉整个代码块。我希望能够折叠工作代码。当我想添加一个条件(一个 if 语句)来激活一大块代码而不将其放入函数中时,这尤其有用(它不作为一个函数工作,所以我没有把它作为一个函数)。 它更像是放入新的 if 语句。我的程序中的循环太多了(我认为它大约有 10 个嵌套循环 + 一大堆其他 if 语句)并且它很难跟踪里面的内容。如何折叠循环和 if 语句? 我不确定您为什么认为它正在注释掉代码。您应该能够使用 #pragma region 语句来创建可折叠的工作代码块。【参考方案2】:TheSam 是对的,您可以使用#pragma region 和#pragma endregion 语句创建可折叠的块。
这是一个示例:
int main(array<System::String> args)
Console::WriteLine(L"This");
Console::WriteLine(L"is");
Console::WriteLine(L"a");
#pragma region
Console::WriteLine(L"pragma");
Console::WriteLine(L"region");
#pragma endregion
Console::WriteLine(L"test.");
return 0;
在上面的示例中,示例之间的所有内容都可以折叠。
您还可以指定折叠时显示的文本。你可以这样做:
#pragma region The displayed text
当区域折叠时,显然会显示“显示的文本”。
【讨论】:
【参考方案3】:这个扩展是为 Visual Studio 中的工作而制作的: http://visualstudiogallery.msdn.microsoft.com/4d7e74d7-3d71-4ee5-9ac8-04b76e411ea8
【讨论】:
@Amjad - 开发人员在问答中表示,它可以快速修复源代码以使用 C++/C 代码。您只需要明显地更改语言亲和力属性。我只将 VisStudio 用于 C#、javascript 和 php,所以没有尝试过。扩展的源代码链接在这里:github.com/Skybladev2/C--outline-for-Visual-Studio以上是关于如何在 Visual Studio 2008 中折叠选定的代码块?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Visual Studio 2008 或 Visual Studio 2010 中设置 JavaScript 断点
如何在visual studio2008中创建,编译和运行C++程序,
如何在 Visual Studio 2008 中自动删除尾随空格?