java 如何修复IntelliJ IDEA方法参数自动完成?

jjhzyzn0  于 2023-04-19  发布在  Java
关注(0)|答案(5)|浏览(160)

我正在使用IntelliJ IDEA 15,我注意到(默认情况下)Eclipse在编写需要多个参数的方法调用时提供了更方便的自动完成功能。

  • Eclipse会自动填充默认参数,并允许您通过按Tab*快速浏览这些参数:

  • 然而,IntelliJ IDEA并不方便地处理它,并使您手动编写它们:*

有没有一种方法可以使IntelliJ IDEA,以类似于Eclipse的方式处理方法调用自动完成,并为您预先编写所有参数,只需按Tab(或其他键)即可浏览它们?如果在原始IntelliJ中不可能,是否有一个附加/插件/外部工具可以在这种情况下改进智能代码完成?

  • 注意:我并不是懒惰,它只是变得非常烦人,必须手动完成每个参数并在每个参数后面放一个逗号,而代码完成应该为您做这件事。
cvxl0en2

cvxl0en21#

IntelliJ不这样做,AFAIK也没有插件。
没有适合你的解决方案(除非你自己构建了一个插件,但那样的话你就有另外一份工作来维护这个插件了)
另一种选择是打破习惯/需要它,并使用IntelliJ的代码完成快捷方式:

  • Ctrl+P查看函数的可能参数。
  • Ctrl+Shift+Space列出可作为参数输入到相应参数位置的可能变量(基于类型)。

如果函数需要另一个参数,则也会输入一个逗号。
将数字/字符串硬编码为自定义函数的参数是不可取的,因为这会否定参数的意义。此时Ctrl+Shift+Space是代码完成的最简单方法。
这也会阻止你关闭引号和添加逗号。
另请注意:IntelliSense是Microsoft的智能代码完成实现,IntelliJ和Eclipse都没有使用。
正如frant.hartm在他们的回答中所说:
不幸的是,Intellij开发人员的观点是,这个功能太容易出错。
他们甚至表示,欢迎人们制作一个插件来做到这一点。

qcuzuvrc

qcuzuvrc2#

与这个AFAIK最接近的是“方法参数完成”,它允许您立即自动完成当前方法的参数作为内部方法调用的参数(在调用super()时适用于方法和构造函数)。

不幸的是,Intellij开发者认为这个特性太容易出错。

pinkon5k

pinkon5k3#

IDEA不会自动填充参数。您可以使用Ctrl+Shift+Space进行自动完成(完成基于类型,而不是名称)或使用Ctrl+Alt+Space进行建议。或者使用Ctrl+P查看接受哪些参数。

tnkciper

tnkciper4#

试试看

Ctrl + Space


基本代码完成
就像以前写的那样

Ctrl + Shift + Space


类型代码完成
或者尝试第二种变体两次。关于自动完成代码的更多信息在here

7uzetpgm

7uzetpgm5#

自动填充Java调用参数插件应该可以做到这一点:https://plugins.jetbrains.com/plugin/8638-auto-filling-java-call-arguments/reviews

我建议手动安装forked 1.2版本,它修复了重载方法的错误:https://github.com/kontext-e/AutoFillingCallArguments/issues/1#issuecomment-1513391992

相关问题