在Intellij中自动重复编辑操作

时间:2011-05-12 10:08:40

标签: java refactoring intellij-idea

Intellij IDEA有哪些自动化重复编辑操作的方法?

例如,我有一个包含几十个条目的文件,如下所示:

public static final Test1 = new Test(A a1, B b);
public static final Test2 = new Test(A a2, B b);
public static final Test3 = new Test(A a3, B b);
public static final Test4 = new Test(A a4, B b);

我想替换文件中的所有B b,然后传递null参数。在像gvim这样的编辑器中很容易做到,通常你会记录macro并重复它。在Intellij的重构能力有限的情况下,进行此类自动化的常用方法是什么?

3 个答案:

答案 0 :(得分:5)

也许您可以使用键盘宏录制器:

enter image description here

或者您可以使用IDEA的structural search and replace功能

答案 1 :(得分:3)

如果您可以识别模式,您可以随时将文本复制到textpad或类似的东西,然后执行正则表达式替换,然后将文本复制回来。我经常这样做。

对于您的特定示例,请在textpad中尝试此操作 -

  1. F8 - 替换对话框
  2. 查找内容:(测试([^,])+([^]] +)
  3. 替换为:\ 1,null
  4. 检查正则表达式复选框

答案 2 :(得分:3)

IntelliJ IDEA也很容易。您可以切换到列模式编辑(从主菜单中编辑|列模式),然后选择要替换的列,只需键入null

同时检查此截屏视频:http://tv.jetbrains.net/videocontent/column-mode-editing-with-intellij-idea