カスタムコードの折りたたみ可能なビットを挿入してコードを少し読みやすくするために、C ++の#regionに相当するC ++は何ですか?
#region、C#に関する限り、有効な構文であり、コードの領域を示します。Visual Studioでは、IDE機能としてそれらを折りたたむことができます。
カスタムコードの折りたたみ可能なビットを挿入してコードを少し読みやすくするために、C ++の#regionに相当するC ++は何ですか?
#region、C#に関する限り、有効な構文であり、コードの領域を示します。Visual Studioでは、IDE機能としてそれらを折りたたむことができます。
回答:
地域キーワードは、 IDEの固有のものであり、Visual Studioでのレンダリングに影響します。最も近い同等のものは、VisualStudioにのみ適用可能な#pragmaRegionです。
MSDNのコード例
// pragma_directives_region.cpp
#pragma region Region_1
void Test() {}
void Test2() {}
void Test3() {}
#pragma endregion Region_1
int main() {}
#pragma regionますか?それを否定するCコンパイラはありますか?何か影響はありますか?ありがとう
Mingw。を使用するとgcc -Wall、不明なプラグマに関する警告が表示されます。のように: warning: ignoring #pragma region test [-Wunknown-pragmas]とwarning: ignoring #pragma endregion [-Wunknown-pragmas]
Visual Studioの#pragma region…#pragma endregionに加えて、多くのIDEは、{}-delimited、//-commented言語のリージョンに対して次の構文をサポートしています。
//{ Region header text.
…
//}
注目すべき例には、Code :: BlocksとFlashDevelop、およびNotepad ++などのScintilla編集コンポーネントを使用するその他のエディターが含まれます。 Geany、コモド編集、および多くを。
同等のものはありません。この#region機能はC#仕様の一部です。
C ++にはそのような同等のものはありません。特別にフォーマットされたコメントでそれを模倣することもできますが、これはエディター固有です。
Visual Studioの場合、次を使用できます。
#pragma region name
...
#pragma endregion name
#pragma region ですべての意図や目的、その機能的同等物のために、。
#regionは仕様で定義されており、仕様に準拠するIDEは、領域の折りたたみを許可する必要があります#pragma region。これは、については言えません。
私は使ってきました
#ifndef ANY_NAME_FOR_THIS_REGION
...
#endif
過去数年間のいくつかのプロジェクトで、それは私に合っています(折りたたみ可能なブロックを含む)。さらに、そのすぐ上にある#define ANY_NAME_FOR_THIS_REGIONを使用して、ブロックを無効にすることができます。
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
このように定義された領域を折りたたむことができます。
この質問の最初の回答は、別の代替案に言及しています。ただし、すべての状況に適用できるわけではありません。
方法:代わりに{...}を使用します。これは、VisualStudioでのコードの折りたたみをネイティブにサポートします。
有効化オプション:[ツール]-> [オプション]-> [テキストエディター]-> [C / C ++]-> [フォーマット]-> [アウトラインステートメントブロック]-> [True]。
をさまざまなスコープに配置すると{...}、コードがさまざまなスコープに折りたたまれます。
