将现有变量包装为 IntelliJ 代码编辑器中新类型方法调用的参数

Wrap an existing variable to be the argument to a newly-typed method call in IntelliJ code editor

我有这个:

this.label = label;

我想要这个:

this.label = Objects.requireNonNull( label );

有没有一种快捷方式来编辑这样一行,而不是我先输入 Objects.requireNonNull() 然后再输入 cut/paste 或将变量拖到括号内?

我可以想象选择变量(在本例中为 label),然后按下一些让我键入方法调用的击键,并在按下 Return 时将该变量放入括号内。

环绕声实时模板

您可以创建 surround live template.

  • Surround 模板用用户指定的文本包裹 selected 代码块。例如,T 扩展为一对标签,您可以为其指定名称。您还可以 select 一段代码,然后按 Ctrl+Alt+J 打开 Select 模板弹出窗口,然后 select T 模板用 selection 包裹一对标签。

这是创建您想要的 Objects.requireNonNull 的示例,这里使用缩写名称 ornn

要调用您的实时模板:

  1. Select 您要包围的文本。
  2. 按当前为实时模板指定的击键。

您通过查看 Preferences/Settings > Keymap > Other > Surround with Live Template 发现需要击键….

那个捷径是……

  • macOS:选项 + 命令 + J
  • Windows:Control + Alt + J

结构搜索

另一种选择是使用快速修复配置 Structural Search and Replace inspection,然后通过 Alt+Enter 将其应用于匹配的代码。