2009-01-15 19 views
14

Algunos de nuestros proyectos requieren opciones predeterminadas de la pestaña Visual Studio (ancho 4; mantener pestañas); algunos requieren ancho 3; usa espacios. No preguntesVisual Studio: ¿Ancho/opciones de la tabla variable por el archivo .VCPROJ o .SLN?

En lugar de establecer estos globalmente, ¿hay algún modo en el que pueda configurar esto en una solución o por proyecto o incluso (estilo emacs) por archivo?

Visual Studio 2005 y 2008.

+1

+1 para la etiqueta de la guerra santa. –

Respuesta

13

La solución más conveniente que sé es crear un conjunto de macros de Visual Studio para cambiar a la configuración que desee.

Ve a Tools > Macros > Macros IDE. Ahí, en el árbol de la izquierda, haga clic con el botón derecho en MyMacros y elija Add > Add Module. Proporcione al módulo un nombre como TabSize. Dentro de este módulo, cree subs para cambiar la configuración que desee. Por ejemplo:

Imports System 
Imports EnvDTE 
Imports EnvDTE80 
Imports EnvDTE90 
Imports System.Diagnostics 

Public Module TabSize 

    Sub Tab3() 
     SetTabAndIndentation(3) 
    End Sub 

    Sub Tab4() 
     SetTabAndIndentation(4) 
    End Sub 

    Function SetTabAndIndentation(ByVal value As Integer) 
     DTE.Properties("TextEditor", "AllLanguages").Item("TabSize").Value = value 
     DTE.Properties("TextEditor", "AllLanguages").Item("IndentSize").Value = value 
    End Function 

End Module 

No existe documentación útil que conozca sobre los parámetros de la cadena. Si necesita establecer otras opciones, como "Mantener pestañas", el enfoque más fácil es hacer estos cambios manualmente (bajo Tools > Options). Luego, usando Tools > Import and Export Settings, guarde estas configuraciones como un archivo de vssettings. Esto crea un archivo XML cuya estructura es la misma que la necesaria para las llamadas a métodos.

Finalmente, puede vincular estas macros a los botones de comando o atajos de teclado a través de Tools > Customize. Darle a cada macro un atajo de teclado te permite alternar rápidamente entre las configuraciones.

+0

Esto podría ser útil, combinado con el manejo de eventos de carga de proyectos y buscar en el proyecto una propiedad de marcador o archivo para controlar la configuración. Hmmm ... –

+0

¡Ah, esa sugerencia de "configuración de exportación" es genial!Ahora si solo pudiera hacer que todos mis compañeros de trabajo lo importen automáticamente ... :) –

+0

Tengo que decir que esta es, con mucho, una de las mejores respuestas que he visto en Stack Overflow. Conciso y no excesivamente largo, sin embargo, me permitió seguir una interfaz de macro totalmente nueva y hacer exactamente lo que quería (botones para "Mantener pestañas" e "Insertar espacios"). ¡Gracias! – Dav

2

Tengo un problema similar: mi nuevo proyecto necesita ser configurado con vigilar, mientras mis otros proyectos se desarrollan con espacios de inserción opción.

Dado que esta es una configuración estrictamente de Visual Studio, no esperaba encontrar ninguna información por proyecto que autorice esto (ya sea que uno use un complemento específico para ese fin).

Así que terminé teniendo una configuración similar a un eclipse: tener dos accesos directos a Visual Studio con diferentes configuraciones cada uno.

De acuerdo con MSDN, se puede usar el interruptor /ResetSettings para cambiar la configuración de Visual Studio al iniciar. Lo que necesita ahora es dos accesos directos con este formato:

devenv.exe /ResetSettings "d:\your-settings.vssettings" 

La hora de inicio es como 5-10 segundos más (ya que se aplica la configuración de cambio en cada inicio), pero es más conveniente y menos engorroso que hacerlo manualmente , cada vez.

HTH

1

También puede utilizar estas propiedades para completar el ejemplo de Daniel:

DTE.Properties("TextEditor", "AllLanguages").Item("InsertTabs").Value 
DTE.Properties("TextEditor", "AllLanguages").Item("IndentStyle").Value 
0

Sé que soy un poco tarde al juego: Desde Visual Studio 2017, no hay soporte para .editorconfig archivos en el IDE en una por directorio.

Cuestiones relacionadas