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

时间:2012-07-02 14:07:21

标签: c++ qt-creator pragma code-folding

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

#pragma region Region_1
void Test() {}
void Test2() {}
void Test3() {}
#pragma endregion Region_1

我可以看到folding for logical代码块,但不知道如何显式设置这样的块。我的Qt Creator版本是2.4.1

6 个答案:

答案 0 :(得分:9)

我认为你可以这样做:

重新格式化someclass.cpp

namespace ns
{
  CClass::CClass() {}
  CClass::~CClass() {}
  void CClass::Test() {}
  void CClass::Test2() {}
  void CClass::Test3() {}
}

例如

namespace ns // construction-destruction
{
  CClass::CClass() {}
  CClass::~CClass() {}
}
namespace ns // test-region
{
  void CClass::Test() {}
  void CClass::Test2() {}
  void CClass::Test3() {}
}

答案 1 :(得分:8)

Currently not.

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

答案 2 :(得分:4)

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

{ // RegionName 
    void Test() {}
    void Test2() {}
    void Test3() {}
}

答案 3 :(得分:2)

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

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

#define FOLDINGSTART {

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

#define FOLDINGEND }

答案 4 :(得分:1)

这有点旧,我知道,但是当我自己寻找解决此问题的方法时它出现了,所以...

@ATatum_BlurPD 在 Qt Creator C++ folding region 中说:

<块引用>

我知道这是旧的,但这是在 QT Creator 4.13.3 中对我有用的方法。

  • 确保启用“显示折叠标记”
    • '工具' -> '选项' -> '文本编辑器' -> '显示'标签
  • 在“.cpp”或“.h”文件中,您要将区域添加到:
    • 添加'#pragma region RegionNameHere{'
      • 注意末尾的“{”
    • 添加'#pragma endregion }'
      • 注意末尾的“}”

一些示例代码:

#pragma region TIMER:Filter Change Delay {

void CLog_EntryList::init_Timer_FilterChangeDelay()
{
    m_timerFilterChangeDelay.setInterval(5000);
    m_timerFilterChangeDelay.setSingleShot(true);
    connect(&m_timerFilterChangeDelay, &QTimer::timeout, this, &CLog_EntryList::slot_Timer_FilterChangeDelay_Timedout);
}

void CLog_EntryList::slot_Timer_FilterChangeDelay_Start()
{
    if(m_timerFilterChangeDelay.isActive())
        return;
    
    m_timerFilterChangeDelay.setInterval(5000);
    m_timerFilterChangeDelay.setSingleShot(true);
    m_timerFilterChangeDelay.start();
}

void CLog_EntryList::slot_Timer_FilterChangeDelay_Timedout()
{
    
}
#pragma endregion}

我在这里没有足够的声誉来发布图像证明,但您可以看到它们here

答案 5 :(得分:0)

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

这将引发"EXPECTED UN-QUALIFIED ID"错误。