【问题标题】:creating macros in intellij在 intellij 中创建宏
【发布时间】:2019-10-25 15:31:52
【问题描述】:

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

有人在 intellij 中创建了 find/replace 宏吗?

【问题讨论】:

  • 我曾经在 Windows 上使用 AutoIT 来创建宏。这是一个非常强大的宏。如果您使用 Windows,也许您可​​以尝试一下以解决问题。
  • 如果您已经在查找/替换对话框/栏中有正则表达式和替换,则关闭该栏并使用热键 (f3) 使用在查找/替换中输入的最后一项选择下一个匹配项.然后 (ctrl+r) 进行替换。之后,一些东西会被选中,所以你需要按 esc 否则下一个 f3 会尝试找到选中的文本,你希望它继续使用旧的正则表达式。

标签: macros intellij-idea


【解决方案1】:

我也无法让宏查找/替换工作,但我可以给你两件事可能会解决你的问题:

  1. 如果您只需要在几个地方/时间进行查找/替换,则可以记住之前的替换(搜索/替换字段中的向下箭头)。

  2. 编写一个插件(是的,真的一点也不难)来做到这一点。我很惊讶它是如此简单,即使文档可以改进。

还有一种奖励方式,我只是想到了:

  1. 在 Emacs 记录替换宏中打开文件(或编写一个 elisp 函数来执行此操作),在我了解制作 Idea 插件是多么容易之前,我会这样做。

【讨论】:

  • 你能不能偶然把你的插件代码放到网上,我想这对每个人都非常有帮助;)
  • 我没有通用的搜索/替换插件(我有一些 Emacs 遗漏的其他功能)。但是如果我有时间我会写一个。
  • @osundblad 你写插件了吗?
  • 感谢您建议编写插件。我只用了我猜的 2 个小时就做到了。现在我知道它是如何工作的
【解决方案2】:

这似乎是 IntelliJ 中的 long-standing bug。对我有用的一种解决方法是:

  • 安装IdeaVim plugin
  • 录制需要搜索的宏时,在宏期间启用 Vim 模式(工具 -> Vim 仿真),使用标准 Vim 措施定位光标,禁用 Vim 模式。

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

【讨论】:

    【解决方案3】:

    如果一切都失败了,你可以尝试AutoITAutoHotKeyApplescriptother general-purpose macro systems.

    【讨论】:

      猜你喜欢
      • 2023-03-29
      • 1970-01-01
      • 2014-03-29
      • 1970-01-01
      • 2023-04-08
      • 2019-05-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多