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

问题描述 投票:0回答:8

Qt Creator 中是否有类似于用于折叠的显式代码区域的内容:

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

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

c++ qt-creator pragma code-folding
8个回答
12
投票
我认为你可以做到这一点:

重新格式化你的 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() {} }
    

9
投票

目前没有。

我认为无论如何使用代码来构建代码会更好。恕我直言,C# 中的区域对于正确的结构和保持事物的可维护性来说是一个糟糕的替代品。


7
投票

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

#define FOLDINGSTART {

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

#define FOLDINGEND }



6
投票

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



1
投票

@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}

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


1
投票
添加片段

来自动输入代码区域。 导航菜单到“首选项”/“文本编辑器”/“片段”,选择“文本”组并插入一个具有“触发器 = 区域”和“触发器变体 = 名称”的新片段,然后在下部区域添加以下文本(在“}”后添加额外的回车符) ')。现在,在代码中,您只需输入“区域”,代码片段就会被插入,而编辑器会要求设置区域的“名称”。 唯一的缺点是,#pragma zone 会生成警告,但您可以通过添加来抑制它:

QMAKE_CXXFLAGS_WARN_ON += -Wno-unknown-pragmas

到您的 .pro 文件。无论如何,您始终可以用您认为效果更好的任何内容替换该片段。

#pragma region $name$ { #pragma endregion }

Set Preferences...Snippet example image


0
投票

这会抛出

"EXPECTED UN-QUALIFIED ID"

错误。

    


0
投票

#pragma 区域 REGION1 {

// 您的代码

#pragma endregion REGION1 }

© www.soinside.com 2019 - 2024. All rights reserved.