Qt Creator 中是否有类似于用于折叠的显式代码区域的内容:
#pragma region Region_1
void Test() {}
void Test2() {}
void Test3() {}
#pragma endregion Region_1
重新格式化你的 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() {}
}
在要折叠的块之前放置以下定义:
#define FOLDINGSTART {
然后直接在您放置的块之后:
#define FOLDINGEND }
{ // RegionName
void Test() {}
void Test2() {}
void Test3() {}
}
@ATatum_BlurPD在
Qt Creator C++折叠区域我知道这已经很旧了,但以下是 QT Creator 4.13.3 中对我有用的内容。这里确保启用“显示折叠标记”
- “工具”->“选项”->“文本编辑器”->“显示”选项卡
.cpp”或“在“
- .h”文件中,您要将区域添加到: 添加'#pragmaregion
一些示例代码: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}
来自动输入代码区域。 导航菜单到“首选项”/“文本编辑器”/“片段”,选择“文本”组并插入一个具有“触发器 = 区域”和“触发器变体 = 名称”的新片段,然后在下部区域添加以下文本(在“}”后添加额外的回车符) ')。现在,在代码中,您只需输入“区域”,代码片段就会被插入,而编辑器会要求设置区域的“名称”。 唯一的缺点是,#pragma zone 会生成警告,但您可以通过添加来抑制它:
QMAKE_CXXFLAGS_WARN_ON += -Wno-unknown-pragmas
到您的 .pro 文件。无论如何,您始终可以用您认为效果更好的任何内容替换该片段。
#pragma region $name$ {
#pragma endregion }
这会抛出
"EXPECTED UN-QUALIFIED ID"
错误。
#pragma 区域 REGION1 {
// 您的代码
#pragma endregion REGION1 }