我想写一个宏,如果没有选择它会自动对当前单词进行操作,否则它会对选择进行操作。但是我找不到合适的动作,EditorSelectWord一直在不断扩大选择范围。
P.S。该宏旨在将“xyz”更改为“{@code xyz}”,但它还需要将“x / y / z”更改为“{@code x / y / z}”。
答案 0 :(得分:1)
IntelliJ IDEA似乎不是这项特定工作的最佳工具。看起来宏只支持始终执行的固定步骤列表,而不能使用if语句:https://www.jetbrains.com/idea/help/using-macros-in-the-editor.html。
当没有选择时你可以手动使用Ctrl-W,但如果宏可以处理它当然会更好。另一种可能性是使用流编辑器sed之类的工具。 sed的替换命令可能在您的情况下可用,除非文本出现在您不想替换它的地方:
sed 's/xyz/{@code xyz}/g' inputFileName > outputFileName
编写自己的小程序可能也是一个很好的理由,例如只修改源文件中Javadocs中的特定字符串。