【问题标题】:Broken indentation for Qt-specific constructions in Visual StudioVisual Studio 中 Qt 特定结构的缩进损坏
【发布时间】:2011-07-26 16:35:44
【问题描述】:

VS 编辑器中的自动缩进显然不了解 Qt。信号和槽的声明是这样自动格式化的:

   class MyClass : public QObject
   {
   Q_OBJECT
   public:
      MyClass();

signals: // <-- Broken indentation
      void someSignal();

      public slots: // <-- Also broken
         void someSlot();
   };

我想像访问说明符一样自动格式化“信号:”和“插槽:”。有什么选择? (我用的是VS2010)

【问题讨论】:

  • 您可能需要考虑 QtCreator。
  • 不,更换 IDE 不是一种选择:我们使用 VS 已经很多年了,我们很满意 :)
  • 是的,我们使用诺基亚的 Qt 插件。它似乎没有任何关于代码格式化的功能
  • 是的!我在 vs 2008 中也注意到了这个问题。对此无能为力。
  • 仍然没有答案...我可能会尝试写一个插件:)

标签: c++ visual-studio qt editor indentation


【解决方案1】:

简而言之,答案似乎是否定的。也许不是你想要的,但也许你可以忍受这个:

class MyClass : public QObject
   {
   Q_OBJECT
   public:
      MyClass();

   private:
      Q_SIGNAL void someSignal();

   public:
      Q_SLOT void someSlot();
   };

(它很丑,但似乎你不能吃蛋糕也不能吃;)

只是我想知道:构建一个用于自动格式化的插件是否值得?我们真的这么多使用 CTRL-A CTRL-F 吗?如果是这样,那么是的,这可能是一种痛苦。但通常,如果您正在处理声明新方法(信号或插槽)的头文件,则不应弄乱先前更正的缩进。也许你有一些理由证明这一点?

【讨论】:

  • 感谢宏的提示。这是一种习惯,每次编辑文件时都运行自动格式化。此外,我认为它在我闪亮的开发环境中是一个“破窗” :-) 编写一个单独的插件是一种过大的杀伤力,但是对 VS 的 Qt 插件的一个小补丁可能会很好。 MB 我会努力的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多