在visual studio IDE中是否有交换/重新排序参数的快捷方式?

qmelpv7a  于 2023-05-18  发布在  其他
关注(0)|答案(3)|浏览(203)

在IDE中使用代码时,我遇到了一个常见问题:

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

我需要把它改成:

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

我经常有几个这样的需要一次交换。我想避免所有的打字。有没有一种方法可以自动化?如果我知道从哪里开始,无论是捷径还是某种宏都会很棒。
编辑:改为string.Concat,表示不能总是修改方法签名。我只想改变方法调用中参数的顺序,没有别的。

1l5u6lss

1l5u6lss1#

Resharper再次展示了超过Visual Studio的上级特性。由于没有确切的答案,我通过谷歌搜索来到这里,我觉得有必要给予这些信息:
Resharper有一个名为Change Signature refactoring的重构功能,它可以与Rearrange code elements的快捷方式无缝配合使用。
1.您可以简单地选择要移动的参数,然后按Ctrl+Shift+Alt + Left/Right操作
1.完成后,您可以按Alt+Enter键并选择Apply Change Signature refactoring...

8oomwypt

8oomwypt2#

<Ctrl> + <Shift> + <t>将转置两个单词,因此它在您的情况下可以工作。不幸的是,我不认为这对具有较大参数列表的函数有效(没有多次按下)。

ou6hu8tu

ou6hu8tu3#

我有很多关于这个函数的代码:

SetInt(comboBox1.Value + 1, "paramName", ...
SetInt(comboBoxOther.Value, "paramName", ...

我只需要交换前两个参数;
我最终使用了一些带有正则表达式管理的文本编辑器(如Scite),使用这个编辑器节省了我的时间:

Find: SetInt(\([.a-z0-9]+[ + 1]*\), \("[a-z0-9]+"\)
Replace: SetInt(\2, \1

相关问题