2012-04-05 15 views
18

Gibt es eine Tastenkombination in Visual Studio 2010 (ich benutze auch ReSharper 6.1), mit der ich einen ausgewählten Textblock mit geschweiften Klammern umgeben kann? Ich versuchte "Surround With ..." (Strg + K, Strg + S), aber ich sah keine Option in der Liste, geschweifte Klammern als das umgebende Element zu wählen. Der gemeinsame Anwendungsfall dafür ist, dass ich mich wie eine if-Anweisung haben, werde die folgenden:Mehrere Anweisungen in geschweiften Klammern umhüllen

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

Ich werde erkennen, dass es einige zusätzliche Aufgaben sind, die innerhalb der if-Anweisung ausgeführt werden müssen, und ich hinzufügen sie:

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

Dann, ich erinnere mich, dass ich alle Anweisungen in geschweiften Klammern wickeln, und der Code sollte wirklich so aussehen:

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

Was möchte ich zu tun ist, wählen sie einfach die Drei Anweisungen und dann drücken Sie eine Tastenkombination, um sie in geschweifte Klammern zu wickeln. Was ich tatsächlich mache, ist, den Cursor an den Anfang der Zeile nach der Bedingung zu bewegen, dann ein {Zeichen einzugeben, dann das} Zeichen zu löschen, das ReSharper (nicht hilfreich) automatisch unmittelbar nach dem {einfügt, dann den Cursor zum Ende bewegt der letzten Anweisung des Blocks und Eingabe} um den Block zu vervollständigen.

+0

Ich glaube nicht, dass dies getan werden kann, die Schlüsse, die ich habe, ist eine geschweifte Klammer schlagen und den Code manuell in den Block verschieben, aber ich vermute, das ist nicht das, was Sie wollen .. wenn es gemacht werden kann Ich wäre interessiert. –

Antwort

25

Wählen Sie Codezeilen aus.

Drücken Sie Strg E-U (Surround mit Vorlage) (oder Strg Alt J für Intelli J).

Wählen Sie Option 7: {}.

Funktioniert für mich.

+0

Ctrl E-U hat nicht für mich funktioniert, aber das könnte daran liegen, dass ich etwas anderes zugeordnet habe. Aber ich gebe dir Anerkennung, weil SurroundWith tatsächlich die richtige Antwort ist. Das Problem stellte sich heraus, dass meine Tastenkombination mit der Visual Studio-Version von SurroundWith und nicht mit der ReSharper-Erweiterung verknüpft war. Sobald ich in Extras-> Optionen-> Tastatur und legte eine Tastenkombination für ReSharper.ReSharper_SurroundWith und entfernt die Verknüpfung von der Standard-Edit.SurroundWith, es funktionierte. – Matt

Verwandte Themen