Qt创建者中的代码折叠(#pragma region)

Hor*_*ter 11 c++ pragma code-folding qt-creator

在Qt Creator中是否存在类似于显式代码区域的折叠:

#pragma region Region_1
void Test() {}
void Test2() {}
void Test3() {}
#pragma endregion Region_1
Run Code Online (Sandbox Code Playgroud)

我可以看到逻辑代码块的折叠,但不知道如何显式设置这样的块.我的Qt Creator版本是2.4.1

She*_*dan 11

我想你可以这样做:

重新格式化someclass.cpp

namespace ns
{
  CClass::CClass() {}
  CClass::~CClass() {}
  void CClass::Test() {}
  void CClass::Test2() {}
  void CClass::Test3() {}
}
Run Code Online (Sandbox Code Playgroud)

例如

namespace ns // construction-destruction
{
  CClass::CClass() {}
  CClass::~CClass() {}
}
namespace ns // test-region
{
  void CClass::Test() {}
  void CClass::Test2() {}
  void CClass::Test3() {}
}
Run Code Online (Sandbox Code Playgroud)


Seb*_*ach 9

目前没有.

我认为最好使用代码来构建代码.在C#中也发现的区域对于正确的结构化和保持可维护性来说是一个糟糕的替代品.


小智 5

您可以将代码放在{}中,并为其名称写一个注释。

{ // RegionName 
    void Test() {}
    void Test2() {}
    void Test3() {}
}
Run Code Online (Sandbox Code Playgroud)


Ter*_*Dog 5

现在我们可以通过以下方式做到这一点:

在要折叠的块之前放置以下定义:

#define FOLDINGSTART {
Run Code Online (Sandbox Code Playgroud)

并直接在您放置的块之后:

#define FOLDINGEND }
Run Code Online (Sandbox Code Playgroud)

  • 这可能是我们目前遇到的问题的最佳解决方案。唯一的问题是您必须为每个区域使用唯一的标识符(否则您将收到警告) (2认同)