Сломанный отступ для Qt-специфичных конструкций в Visual Studio - PullRequest
8 голосов
/ 31 марта 2011

Автоматический отступ в редакторе VS явно не знает о Qt. И объявления сигналов и слотов автоматически форматируются следующим образом:

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

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

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

Я хочу, чтобы «сигналы:» и «слоты:» автоматически форматировались, как указатели доступа. Какие есть варианты? (Я использую VS2010)

1 Ответ

6 голосов
/ 02 апреля 2011

Короче говоря, ответ НЕТ. Может быть, не то, что вы ищете, но, возможно, вы можете жить с этим:

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

   private:
      Q_SIGNAL void someSignal();

   public:
      Q_SLOT void someSlot();
   };

(Это уродливо, но кажется, что ты не можешь съесть свой пирог и съесть его;)

Просто то, что меня интересует: стоит ли пытаться создать плагин для автоматического форматирования? Действительно ли мы так часто используем CTRL-A CTRL-F? Если так, то да, это может быть боль. Но обычно, если вы работаете с заголовочными файлами, объявляя новый метод (сигнал или слот), не должно испортиться предыдущий исправленный отступ. Возможно, у вас есть причины, которые это оправдывают?

...