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

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

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

enter image description here

但是,IntelliJ IDEA不会方便地处理它,而是让您手动编写它们:

enter image description here

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


注意:我不是懒惰,它只是变得非常烦人,必须手动完成每个参数并在每个参数后放置一个逗号,当代码完成应该为您完成时。


答案 1

IntelliJ没有这样做,AFAIK也没有插件。
没有适合您的解决方案(除非您自己构建了一个插件,但那时您只需要另一份工作来维护该插件)

另一种方法是打破习惯/需求,并使用IntelliJ的代码完成快捷方式:

  • Ctrl+P以查看函数的可能参数。
  • Ctrl+Shift+Space列出可作为参数输入的可能变量,位于相应的参数位置(基于类型)。
    如果函数需要其他参数,则此操作也会输入逗号。

不建议将数字/字符串硬编码为自定义函数的参数,因为这会否定参数的要点。更好的做法是传递预定义的变量,也更常见;此时++是代码完成的最简单方法。
这也会阻止您关闭引号和添加逗号。CtrlShiftSpace

另请注意:IntelliSense是Microsoft的Intelligent Code Complete实现,IntelliJ和Eclipse都没有使用。


正如frant.hartm在他们的回答中所说:

不幸的是,Intellij开发人员的观点是,此功能太容易出错。在 youtrack 上查看此问题

他们甚至表示,欢迎人们制作一个这样做的插件。


答案 2

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

method parameter completion

不幸的是,Intellij开发人员的观点是,此功能太容易出错。在 youtrack 上查看此问题


推荐