2010-06-18 8 views

risposta

26

Si potrebbe registrare una macro (Ctrl +E, Ctrl +C, Esegui, Ctrl +S). Quindi esegui quello invece di salvare. Poi tutto quello che dovete fare è assegnare CTRL +S alla macro.

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

Questo metodo mostrerà la finestra di dialogo di pulizia del codice in cui sarà necessario selezionare Esegui.

Per rimuovere l'interazione utente, è necessario selezionare un profilo da eseguire quando viene richiamata la pulitura del codice. Puoi configurarlo andando in ReSharper | Opzioni | Strumenti | Pulizia del codice e selezione del profilo nel menu a discesa "Profilo da utilizzare con pulizia silenziosa". È anche qui dove è possibile creare un profilo personalizzato per specificare quali modifiche apportare al proprio codice. In 4.5 tuttavia non consente di omettere le pagine di aspx. L'unico elemento di differenziazione è C# e VB.Net.

Link utile: http://www.jetbrains.com/resharper/features/code_formatting.html

+6

se si desidera eseguire la pulizia in modo silenzioso, è necessario invece 'ExecuteCommand (" ReSharper_SilentCleanupCode ")' e impostare un'opzione di pulizia del codice non presidiato –

+5

Non per VS2012, il supporto per le macro viene eliminato (http: // stackoverflow.com/a/12065139/23805) – bob

+0

È possibile utilizzare [Visual Commander] (http://visualstudiogallery.msdn.microsoft.com/deda8ac1-75e6-4068-89ab-b607cee38f2d) per macro. –

13

Ho appena pubblicato un libero di Visual Studio Extension che consente di automatizzare uno script simile, per la configurazione più semplice. Potresti provarlo allo http://blog.pedropombeiro.com/keeping-code-formatted-the-easy-way/.

+3

grazie, mi hai appena salvato scrivendo io stesso :) –

+3

installato e utilizzando, grazie :) –

+3

Potrebbe essere interessante implementarlo come un plug-in ReSharper implementato con il nuovo gestore di estensioni ReSharper. –

1

Se siete in VS2012, e non è possibile utilizzare la soluzione di macro, è possibile utilizzare AutoHotKey (o simile) per automatizzare esso, invece di usare le macro:

  1. in Visual Studio:
    1. Assegnare un tasto al comando ReSharper_SilentCleanupCode, ad esempio: CONTRL + SHIFT + C
    2. modificare la chiave di salvare dall'essere CTRL + S a qualcos'altro, ad esempio: CONTRL + SHIFT + S
  2. In AutoHotKey creare un frammento di codice che sembra qualcosa di simile:

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

E 'il mio primo post (! Evviva) così mi scusi se non è perfetto in qualsiasi modo ...

questione è di circa R #, ma hai anche menzionato (Visual Studio/ReSharper), quindi forse il mio suggerimento aiuterà qualcuno. In Visual Studio interno chiamato "Produttività Power Tools" ci sono due opzioni per questo (in Strumenti -> Opzioni -> Strumenti Produttività Potenza -> PowerCommands: Generale):

  1. codice formato al salvataggio.
  2. Rimuovere e ordinare gli usi al salvataggio.

Trovo che PPT sia bello da avere, anche con R # installato. Puoi ottenerli da Visual Studio Gallery (versione 2012, ma esistono anche versioni 2010 e 2013).

3

Ho creato un'estensione per richiamare automaticamente ReSharper Cleanup silenzioso sul file di salvataggio: https://visualstudiogallery.msdn.microsoft.com/43be6ead-dabf-4bb1-b019-1e361efd8410

Supporta solo ReSharper pulizia in silenzio, ma funziona.

+0

Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il link per riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia. - [Dalla recensione] (/ recensione/post di bassa qualità/11568843) –

+1

@Odedra dato che la risposta è un'estensione che esegue ciò che voleva il richiedente, non sono sicuro di poter aggiungere "le parti essenziali della risposta qui "a meno che StackOverflow non mi permetta di caricare direttamente l'estensione ::) – FriendlyGuy

+0

Ho avuto successo con questo. E funziona correttamente quando si salvano più file. Inoltre non interferisce con l'annullamento delle modifiche in sospeso in più file. –

Problemi correlati