2010-07-20 16 views
6

Ich habe ein häufiges Problem, wenn mit dem Code in der IDE arbeiten:Gibt es eine Verknüpfung, um Parameter in Visual Studio IDE zu tauschen/neu anzuordnen?

string.Concat("foo", "bar"); 

und ich muss es ändern:

string.Concat("bar", "foo"); 

Oft sind mehrere diese von Ich habe die auf einmal ausgetauscht werden müssen, . Ich möchte das ganze Tippen vermeiden. Gibt es eine Möglichkeit, dies zu automatisieren? Entweder eine Verknüpfung oder eine Art Makro wäre großartig, wenn ich wüsste, wo ich anfangen soll.

Edit: geändert in string.Concat, um anzuzeigen, dass Sie die Methodensignatur nicht immer ändern können. Ich möchte nur die Reihenfolge der Parameter im Methodenaufruf ändern und sonst nichts.

Antwort

4

<Ctrl> + <Shift> + <t> wird zwei Wörter transponieren, also würde es in Ihrem Fall funktionieren. Leider funktioniert das nicht (ohne Mehrfachdrücken) für Funktionen mit größeren Parameterlisten ...

+0

Das kommt nahe, aber leider nicht für Komma-getrennte Params arbeiten. Ich am Ende mit etwas wie (, "foo" "bar") oder (, foo "" bar ") vielleicht ist es nur die Zitate, die es abwerfen. Aber danke für die Antwort. –

+0

Das wäre es (die Zitate) - sieht für mich wie ein VS-Fehler aus. – Oren

2

Es gibt eine Option, die direkt in VS für C# -Code integriert ist. Gehen Sie zur Methodendefinition, klicken Sie mit der rechten Maustaste auf den Namen und klicken Sie auf Refactor, Reorder Parameter.

Wenn Sie dies für C++ benötigen, müssen Sie möglicherweise einen regulären Ausdruck suchen und ersetzen - wenn Sie dies tun, achten Sie auf Fälle wie .

+1

Damit wird nur eine Signatur neu geordnet, kein Methodenaufruf. –

+0

Reorder Parameters ändert sowohl die Signatur als auch alle Aufrufe an sie. Wenn Sie nur die Methodenaufrufe und nicht die Signatur ändern möchten (es ist nicht superklar von Ihrer ursprünglichen Frage), können Sie immer noch wie üblich umstrukturieren und dann die tatsächliche Methodensignatur schnell zurückgeben, was sie war bevor alle Anrufe umgekehrt werden. – Travis

+0

Das setzt voraus, dass ich die Methode ändern kann. Bei einer externen Montage kann ich nicht. –

Verwandte Themen