2010-06-18 14 views

Respuesta

26

Se puede grabar una macro (Ctrl +E,Ctrl + C , Ejecutar, Ctrl +S). Luego ejecuta eso en lugar de guardar. Entonces todo lo que necesita hacer es asignar CTRL +S a la macro.

Public Module RecordingModule 
    Sub CLEAN_AND_SAVE() 
    DTE.ExecuteCommand ("ReSharper.ReSharper_CleanupCode") 
    DTE.ActiveDocument.Save 
    End Sub 
End Module 

Este método mostrará el cuadro de diálogo de limpieza del código donde deberá seleccionar Ejecutar.

Para retirar la interacción del usuario tendrá que seleccionar un perfil para ejecutar cuando se invoca código de limpieza. Puede configurar esto yendo a ReSharper | Opciones | Herramientas | Code Cleanup y seleccionando el perfil en el menú desplegable "Profile to use with silent clean-up". También es aquí donde se puede crear un perfil encargo para especificar qué cambios en su código para hacer. En 4.5, sin embargo, no le permite omitir páginas aspx. El único diferenciador es C# y VB.Net.

Enlace de interés: http://www.jetbrains.com/resharper/features/code_formatting.html

+6

si quiere ejecutar la limpieza silenciosamente, entonces necesita 'ExecuteCommand ("ReSharper_SilentCleanupCode") 'en su lugar y ha establecido una opción de limpieza del código silencioso –

+5

No para VS2012, no se admite soporte para macros (http: // stackoverflow.com/a/12065139/23805) – bob

+0

Puede usar [Visual Commander] (http://visualstudiogallery.msdn.microsoft.com/deda8ac1-75e6-4068-89ab-b607cee38f2d) para macro. –

13

Acabo de publicar una extensión de Visual Studio gratuito que automatiza una secuencia de comandos similares, para una configuración más sencilla. Es posible que desee intentarlo al http://blog.pedropombeiro.com/keeping-code-formatted-the-easy-way/.

+3

gracias, me acabas de salvar de escribir esto yo mismo :) –

+3

instalado y usando, gracias :) –

+3

Puede ser interesante implementarlo como un complemento ReSharper implementado con el nuevo ReSharper Extension Manager. –

1

Si usted está en VS2012, y no se puede utilizar la solución de macro, se puede utilizar AutoHotKey (o similar) para automatizarlo, en lugar de utilizar las macros:

  1. en Visual Studio:
    1. Asignar una tecla al comando ReSharper_SilentCleanupCode, por ejemplo: CONTRL + SHIFT + C
    2. Cambiar la clave libre de ser CONTROL + S a otra cosa, por ejemplo: CONTRL + SHIFT + S
  2. En AutoHotKey crear un fragmento que se ve algo así:

    ^s:: 
        Send, ^+c 
        Sleep, 300 
        Send, ^+s 
    return 
    
9

Es mi primer mensaje (! Hurra) por lo discúlpame si no es perfecto de ninguna manera ...

pregunta se refiere R #, pero también se ha mencionado (Visual Studio/ReSharper), por lo que tal vez mi sugerencia ayudarán a alguien. En la extensión de Visual Studio denominado "Herramientas de Productividad de energía" hay dos opciones para esto (en Herramientas -> Opciones -> Herramientas de Productividad de energía -> PowerCommands: General):

  1. código de formato en guardar.
  2. Eliminar y ordenar Usos al guardar.

Me parece agradable tener PPT, incluso con R # instalado. Puede obtenerlos de Visual Studio Gallery (versión 2012, pero también hay versiones de 2010 y 2013).

3

He creado una extensión para invocar automáticamente ReSharper limpieza de silencio activado archivo de guardado: https://visualstudiogallery.msdn.microsoft.com/43be6ead-dabf-4bb1-b019-1e361efd8410

Sólo es compatible con ReSharper limpieza en silencio, pero funciona.

+0

Si bien este enlace puede responder a la pregunta, es mejor incluir las partes esenciales de la respuesta aquí y proporcionar el enlace de referencia. Las respuestas de solo enlace pueden dejar de ser válidas si la página vinculada cambia. - [De la crítica] (/ review/low-quality-posts/11568843) –

+1

@Odedra dado que la respuesta es una extensión que realiza lo que quería el asker, no estoy seguro de poder agregar "las partes esenciales de la respuesta" aquí "a menos que StackOverflow me permita subir la extensión directamente ::) – FriendlyGuy

+0

Tuve éxito con esto. Y funciona correctamente al guardar varios archivos. Además, no interfiere con deshacer cambios pendientes en múltiples archivos. –

Cuestiones relacionadas