Эквивалент #region для C++
Что такое c++ эквивалент #region для C++, чтобы я мог поместить в пользовательский код складные биты и сделать мой код немного легче читать?
10 ответов:
на Ключевое слово региона является специфичным для IDE и влияет на рендеринг в Visual Studio. Ближайший эквивалент #pragma Region который применим только к Visual Studio .
пример кода MSDN
// pragma_directives_region.cpp #pragma region Region_1 void Test() {} void Test2() {} void Test3() {} #pragma endregion Region_1 int main() {}
кроме
#pragma region
...#pragma endregion
для Visual Studio многие IDE поддерживают следующий синтаксис для регионов в любом{}
-разделителями,//
-прокомментировал языке://{ Region header text. … //}
в частности Code:: Blocks и FlashDevelop, и любой другой редактор, который использует Искра компонент редактирования, например Блокнот++,Geany, Komodo Edit и многое другое.
в C++нет эквивалента. Однако IDE должны иметь возможность сворачивать секции.
также можно использовать что-то вроде этого:
#pragma region #pragma endregion A comment about the region.
но, вероятно, не очень портативный
нет эквивалента. Элемент
#region
feature является частью спецификации C#.C++ не имеет такого эквивалента. Вы можете имитировать его с помощью специально отформатированных комментариев, но это будет специфичный редактор.
для Visual Studio можно использовать:
#pragma region name ... #pragma endregion name
Я использую
#ifndef ANY_NAME_FOR_THIS_REGION ... #endif
для нескольких проектов за последние пару лет, и это меня устраивает (включая разборные блоки). кроме того, я могу отключить блок, используя #define ANY_NAME_FOR_THIS_REGION чуть выше него.
нет эквивалента.
большинство хороших редакторов или IDE позволит вам свернуть функции, если не Также
if
/else
/while
/for
/ etc.
просто дополнение к другим ответам. Определение региона варьируется от IDE к IDE.
для разработки Mac в Xcode можно использовать псевдокомментарий:
#pragma mark
C++Builderтут поддержите это, но вы должны объявить регион как:
#pragma region BLAH ..... #pragma end_region
вы должны используйте end_region для C++Builder, но это будет работать, и это будет крах регионе!
Kate, KDevelop и все другие текстовые редакторы и IDE, которые используют Katepart поддерживает маркировку регионов с помощью
//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
вы сможете свернуть область, определенную таким образом.
первый ответ от этот вопрос упоминает еще один вариант. Однако он применим не во всех ситуациях.
способ: используйте {...} вместо этого, который изначально поддерживает сворачивание кода в Visual Studio.
включить опцию: Инструменты - > Параметры - > текстовый редактор - > C/C++ - > форматирование - > блоки инструкций контура - > True.
положить в разных областях {...}, то он свернет код в разных областях: