在 IDEA 中用 method/function 调用包围?

Surround with method/function call in IDEA?

有没有办法用任意方法调用包围选择?

例如:假设您有 return dx; 并且您想快速将其转换为 return Math.abs(dx);

我知道模板,但你必须对周围环境进行硬编码(Math.abs 在这种情况下),我正在寻找一个通用的解决方案,不受任何预定义方法的限制。

UPD 22.01.2019: 正如@de-li 指出的那样,添加了 .arg 后缀模板。目前已确认 Java。欢迎为 Kotlin 支持投票:https://youtrack.jetbrains.com/issue/KT-29398

更新: .arg 模板可用于 Kotlin,因为 1.3.40-dev-568

您可以创建如下所示的实时模板:

$END$($SELECTION$)

然后 select 您要换行的文本,按 Ctrl+Alt+ T 显示带有弹出窗口的环绕声和 select 您的模板,如下图所示:

这样您就拥有了通用模板,而不必将方法名称硬编码到其中。

补充上面的答案:

  1. 转到Android Studio > Preferences
  2. 在导航中选择Editor > Live Templates
  3. 展开 surround 组实时模板。
  4. SelectP (Surround with())点击右边的Duplicate
  5. F 作为缩写,将 Surround with function call 作为描述,将 $END$($SELECTION$) 作为模板文本。
  6. 单击 Change 适用范围和 select ExpressionStringOther Java

现在可以 select 了,点击 ++J(使用实时模板环绕)新的实时模板在此列表中排在第一位,因此只需按回车键即可。

移动到代码的末尾,输入'.arg',然后回车,IDE会添加一对括号将值包裹起来,并将光标移动到开头,然后你可以你想要的方法名称。