Equivalent de #region pour C ++

Quel est l’équivalent en C ++ de #region pour C ++? Je peux donc mettre des bits réductibles au code personnalisé et rendre mon code un peu plus facile à lire.

Le mot clé Region est spécifique à IDE et affecte le rendu dans Visual Studio. L’équivalent le plus proche est #pragma Region qui s’applique uniquement à Visual Studio.

Exemple de code de MSDN

 // pragma_directives_region.cpp #pragma region Region_1 void Test() {} void Test2() {} void Test3() {} #pragma endregion Region_1 int main() {} 

En plus de #pragma region#pragma endregion pour Visual Studio, de nombreux IDE prennent en charge la syntaxe suivante pour les régions dans tout langage {} limité par // :

 //{ Region header text. … //} 

Les exemples notables incluent Code :: Blocks et FlashDevelop , et tout autre éditeur utilisant le composant d’édition Scintilla , tel que Notepad ++ , Geany , Komodo Edit et bien d’autres.

Il n’y a pas d’équivalent en C ++. Cependant, les IDE devraient pouvoir réduire les sections.

Il est également possible d’utiliser quelque chose comme ceci:

 #pragma region #pragma endregion A comment about the region. 

Mais probablement pas très portable

Il n’y a pas d’équivalent. La fonctionnalité #region fait partie de la spécification C #.

C ++ n’a pas d’équivalent. Vous pourriez éventuellement l’imiter avec des commentaires spécialement formatés, mais cela serait spécifique à l’éditeur.

Pour Visual Studio, vous pouvez utiliser:

 #pragma region name ... #pragma endregion name 

J’ai utilisé

 #ifndef ANY_NAME_FOR_THIS_REGION ... #endif 

pour plusieurs projets au cours des deux dernières années et qui me convient (y compris les blocs pliables). De plus, je peux désactiver le bloc en utilisant #define ANY_NAME_FOR_THIS_REGION juste au-dessus.

Il n’y a pas d’équivalent.

La plupart des bons éditeurs ou IDE vous permettront de réduire les fonctions, si pas aussi if / else / while / for / etc.

Juste un ajout à d’autres réponses. La définition de la région varie d’un IDE à l’autre.

Pour le développement Mac sous Xcode, vous pouvez utiliser un pragma :

 #pragma mark 

C ++ Builder prend cela en charge, mais vous devez déclarer la région comme:

 #pragma region BLAH ..... #pragma end_region 

Vous devez utiliser end_region pour C ++ Builder, mais cela fonctionnera et cela réduira la région!

Kate, KDevelop et tous les autres éditeurs de texte et IDE utilisant Katepart prennent en charge le marquage des régions avec les marqueurs //BEGIN et //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 

Vous serez en mesure de réduire une région définie de cette manière.

La première réponse à cette question mentionne une autre alternative. Ce n’est pas applicable dans toutes les situations, cependant.

Méthode: Utilisez plutôt {…} qui prend en charge en mode natif la réduction du code dans Visual Studio.

  1. Activer l’option: Outils -> Options -> Éditeur de texte -> C / C ++ -> Mise en forme -> Blocs d’instructions OutLine -> Vrai.

  2. Mettez votre dans des scopes différentes {…}, puis il réduira le code dans différentes scopes:

Exemple de réduction du code de portée