2012-04-05 11 views
18

C'è una scorciatoia da tastiera in Visual Studio 2010 (sto utilizzando ReSharper 6.1) che mi consentirà di circondare un blocco di testo selezionato con parentesi graffe? Ho provato "Surround con ..." (Ctrl + K, Ctrl + S), ma non ho visto un'opzione nell'elenco per scegliere le parentesi graffe come elemento circostante. Il caso di uso comune di questo è che avrò un if-statement simile al seguente:Riepilogo di più istruzioni tra parentesi graffe

if (conditional) 
    statement1; 
// the rest of the program 

mi rendo conto che ci sono alcune attività aggiuntive che devono essere eseguite all'interno del se-dichiarazione e aggiungo loro:

if (conditional) 
    statement1; 
    statement2; 
    statement3; 
// the rest of the program 

Poi, mi ricordo che ho bisogno di avvolgere tutte le dichiarazioni in parentesi graffe e il codice dovrebbe davvero simile a questa:

if (conditional) 
{ 
    statement1; 
    statement2; 
    statement3; 
} 
// the rest of the program 

quello che mi piacerebbe fare è basta selezionare i tre dichiarazioni e quindi premere un tasto di scelta rapida per avvolgerli in parentesi graffe. Quello che finisco per fare è spostare il cursore all'inizio della riga dopo il condizionale, quindi digitare un carattere {, quindi eliminare il carattere} che ReSharper (inutilmente) inserisce automaticamente dopo {, quindi spostando il cursore verso il basso dell'ultima istruzione del blocco e inserendo} per completare il blocco.

+0

Non penso che questo possa essere fatto, le chiusure che ho sono colpire una parentesi graffa e spostare manualmente il codice nel blocco, ma immagino che questo non sia quello che vuoi .. se può essere fatto sarei interessato –

risposta

25

Seleziona righe di codice.

Premere Ctrl E-U (Surround con modello) (o Ctrl Alt J per Intelli J).

Selezionare l'opzione 7: {}.

Lavori per me.

+0

Ctrl E-U non ha funzionato per me, ma potrebbe essere perché l'ho mappato a qualcos'altro. Tuttavia, ti sto dando credito perché SurroundWith è in realtà la risposta giusta. Il problema si è verificato nel fatto che la mia scorciatoia da tastiera era associata alla versione di SurroundWith di Visual Studio, non all'estensione di ReSharper. Una volta sono entrato in Strumenti-> Opzioni-> Tastiera e impostato una scorciatoia da tastiera per ReSharper.ReSharper_SurroundWith e rimosso il collegamento dal predefinito Edit.SurroundWith, ha funzionato. – Matt