Visual Studio中特定于Qt的构造的缩进缩进

Geo*_*kov 8 c++ qt editor indentation visual-studio

VS编辑器中的自动缩进显然不了解Qt.信号和插槽的声明自动格式化如下:

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

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

      public slots: // <-- Also broken
         void someSlot();
   };
Run Code Online (Sandbox Code Playgroud)

我希望"signals:"和"slots:"自动格式化,就像访问说明符一样.有什么选择?(我正在使用VS2010)

Der*_*bee 6

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

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

   private:
      Q_SIGNAL void someSignal();

   public:
      Q_SLOT void someSlot();
   };
Run Code Online (Sandbox Code Playgroud)

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

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