等效于C ++的#region
C ++的C#等价物是什么,所以我可以放入自定义的代码折叠位,让我的代码更容易阅读?
Region关键字是IDE特定的,并影响Visual Studio中的呈现。 最接近的等价物是#pragma仅适用于Visual Studio的区域。
来自MSDN的代码示例
// pragma_directives_region.cpp #pragma region Region_1 void Test() {} void Test2() {} void Test3() {} #pragma endregion Region_1 int main() {}
除Visual Studio的#pragma region
… #pragma endregion
,许多IDE都支持以下语法,用于任何{}
限定的/ /注释语言的区域:
//{ Region header text. … //}
值得注意的例子包括Code :: Blocks和FlashDevelop ,以及任何其他使用Scintilla编辑组件的编辑器,如Notepad ++ , Geany , Komodo Edit等等。
在C ++中没有等价物。 但是,IDE应该可以折叠部分。
也可以使用这样的东西:
#pragma region #pragma endregion A comment about the region.
但可能不是很便携
没有相同的东西。 #region
function是C#规范的一部分。
C ++没有这样的等价物。 你可以用特殊格式的注释来模仿它,但这是编辑器特有的。
对于Visual Studio,您可以使用:
#pragma region name ... #pragma endregion name
我一直在使用
#ifndef ANY_NAME_FOR_THIS_REGION ... #endif
在过去的几年里有几个项目适合我(包括可折叠的块)。 作为补充,我可以使用#define ANY_NAME_FOR_THIS_REGION在其上方禁用该块。
没有相同的东西。
大多数好的编辑器或IDE会让你崩溃的function,如果不是, if
/别/ while
/ for
/等。
只是除了其他答案。 区域定义因IDE而异。
对于Xcode中的 Mac开发,您可以使用一个杂注 :
#pragma mark
C ++ Builder 确实支持这个,但是你必须声明这个区域为:
#pragma region BLAH ..... #pragma end_region
你必须为C ++ Builder使用end_region,但是它会起作用,并且会崩溃这个区域!
Kate,KDevelop和所有使用Katepart的文本编辑器和IDE都支持用//BEGIN
和//END
标记标记区域。
// BEGIN GPT entity types #define GPT_ENT_TYPE_UNUSED \ {0x00000000,0x0000,0x0000,0x00,0x00,{0x00,0x00,0x00,0x00,0x00,0x00}} #define GPT_ENT_TYPE_EFI \ {0xc12a7328,0xf81f,0x11d2,0xba,0x4b,{0x00,0xa0,0xc9,0x3e,0xc9,0x3b}} #define GPT_ENT_TYPE_MBR \ {0x024dee41,0x33e7,0x11d3,0x9d,0x69,{0x00,0x08,0xc7,0x81,0xf3,0x9f}} // END
您将能够折叠以这种方式定义的区域。
这个问题的第一个答案提到另一个select。 但是并不适用于所有情况。
方法:使用{…},而不是本地支持在Visual Studio中折叠代码。
-
启用选项:工具 – >选项 – >文本编辑器 – > C / C ++ – >格式化 – > OutLine语句块 – > True。
-
把你在不同的范围{…},然后它将折叠在不同的范围内的代码: