2010-07-20 17 views
6

J'ai un problème commun lorsque l'on travaille avec le code dans l'IDE:Existe-t-il un raccourci pour échanger/réorganiser les paramètres dans Visual Studio IDE?

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

et je dois changer pour:

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

J'ai souvent plusieurs d'entre eux qui ont besoin d'être échangé à la fois . Je voudrais éviter tout le typage. Y a-t-il un moyen d'automatiser cela? Un raccourci ou une sorte de macro serait génial si je savais par où commencer.

Édition: changée en chaîne.Concat pour montrer que vous ne pouvez pas toujours modifier la signature de la méthode. Je cherche seulement à changer l'ordre des params dans l'appel de méthode, et rien d'autre.

Répondre

4

<Ctrl> + <Shift> + <t> Transposez deux mots, donc cela fonctionnera dans votre cas. Malheureusement je ne vois pas cela fonctionner (sans presses multiples) pour les fonctions avec des listes de paramètres plus grandes ...

+0

Cela se rapproche, mais ne fonctionne malheureusement pas pour les params délimités par des virgules. Je me retrouve avec quelque chose comme (, "foo" "bar") ou (, foo "" bar ") peut-être que c'est juste les citations qui le rejettent, mais merci pour la réponse –

+0

Ce serait ça (les citations) - ressemble à un bug de VS. Désolé ... – Oren

2

Il existe une option intégrée dans VS pour le code C#. Accédez à la définition de la méthode, cliquez avec le bouton droit sur son nom, puis cliquez sur Refactor, Reorder Parameters.

Si vous en avez besoin pour C++, vous devrez peut-être utiliser une recherche d'expression régulière et la remplacer - si c'est le cas, faites attention aux cas comme someMethod("bar", GetOtherThingy("foo", "rofltron")).

+1

Ceci réorganise seulement une signature, pas un appel de méthode. –

+0

Les paramètres de réorganisation modifient à la fois la signature et tous les appels. Si ce que vous voulez vraiment est juste de changer les appels de méthode et non la signature (ce n'est pas super clair à partir de votre question initiale), vous pouvez toujours refactoriser comme d'habitude, et retourner rapidement la signature de la méthode à ce qu'elle était avant tout en laissant tous les appels inversés. – Travis

+0

Cela suppose que j'ai la possibilité de changer la méthode. Dans le cas d'un assemblage externe, je ne peux pas. –