2009-12-15 84 views
4

我想创建一个宏,它需要选择文本并使用正则表达式运行一些查找/替换。我在intellij中记录了这个宏,但是当我运行它时,我得到的只是打开的查找/替换对话框。没有找到/替换被执行。在intellij中创建宏

有没有人在intellij中创建了一个查找/替换宏?

+0

https://www.jetbrains.com/help/idea/2016.1/using-macros-in-the-editor.html是非常有帮助的 – Nepster 2016-07-12 12:01:39

+0

我曾经利用AutoIt的Windows上创建的宏。这是一个非常强大的宏。如果您使用Windows,也许您可​​以尝试仅用于解决方法。 – HendraWD 2017-04-03 03:43:02

+0

如果您已经在查找/替换对话框/栏中找到正则表达式和替换项,然后关闭栏并使用热键(f3)使用find/replace中输入的最后一项来选择下一个匹配项。然后(ctrl + r)做替换。之后,一些东西将被选中,所以你需要按esc键,否则下一个f3将尝试找到选定的文本,你希望它继续使用旧的正则表达式。 – Julian 2017-09-12 18:52:53

回答

1

我不能让宏查找/替换工作要么但我可以给你,可能会解决你的问题,两件事情:

  1. 如果只是你需要做的是查找/替换早前更换内存少数地方/次(向下箭头在查找/替换字段)。

  2. 写插件(是认真不难在所有)为你做这个。即使文档可以改进,我也很惊讶它是多么容易。

而且做起来的奖励办法,我只是想的:

  1. 用Emacs打开记录替换宏文件(或写一个elisp的功能来做到这一点),这是我的方式直到我学会了制作Idea插件的容易程度为止。
+1

你可以把你的插件代码放在网上吗,我认为这对大家是非常有帮助的) – mkoryak 2011-11-14 14:58:54

+0

我没有一般的搜索/替换插件(我还有一些其他的功能,我错过了Emacs)。但如果我休息一段时间,我会写一个。 – osundblad 2011-11-14 16:04:47

+0

@osundblad你有没有写插件? – HendraWD 2017-04-03 03:38:49

0

这似乎是IntelliJ中的long-standing bug。一种替代方法对我来说是这样的:

  • 安装IdeaVim plugin
  • 当录制需要搜索的宏时,在宏期间启用Vim模式(Tools - > Vim Emulation),使用标准Vim度量来定位光标,禁用Vim模式。

一般来说,Vim仿真对于IntelliJ宏可能非常方便。

+0

听不到它。尚未修复... – HendraWD 2017-04-03 03:36:07