2011-03-31 6 views
8

La sangría automática en el editor VS obviamente no sabe acerca de Qt. Y las declaraciones de señales y ranuras son de auto-formateada como esto:Indentación rota para construcciones específicas de Qt en Visual Studio

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

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

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

quiero "señales:" y "slots:" automáticamente formateados como especificadores de acceso. ¿Cuales son las opciones? (Estoy usando VS2010)

+0

Es posible que desee considerar QtCreator. –

+0

No, cambiar un IDE no es una opción: usamos VS por muchos años y estamos contentos con eso :) –

+0

¿tienes que Qt VS Plugin? –

Respuesta

6

En resumen, la respuesta parece ser NO. Tal vez no lo que está buscando, pero tal vez usted puede vivir con esto:

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

    private: 
     Q_SIGNAL void someSignal(); 

    public: 
     Q_SLOT void someSlot(); 
    }; 

(Es feo, pero parece que no puede tener su pastel y comérselo también;)

Sólo es algo que estoy preguntándose: ¿Vale la pena el esfuerzo de crear un complemento para el formateo automático? ¿Realmente usamos CTRL-A CTRL-F? Si es así, entonces sí, podría ser un dolor. Pero normalmente, si está trabajando en archivos de encabezado, declarar un nuevo método (señal o ranura) no debe estropear la sangría corregida anterior. Tal vez tienes algunas razones que justifican esto?

+0

Gracias por la pista con las macros. Es una especie de hábito ejecutar auto-formato cada vez que edito el archivo. También lo considero una "ventana rota" en mi entorno de desarrollo brillante :-) Escribir un complemento por separado es una exageración, pero un pequeño parche para el complemento Qt para VS podría ser agradable. MB Lo haré un esfuerzo. –

Cuestiones relacionadas