繁体   English   中英

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

[英]How to fix IntelliJ IDEA method parameter auto-completion?

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

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

在此输入图像描述

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

在此输入图像描述

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


注意:我不是很懒,它只是非常烦人,必须手动完成每个参数并在每个参数后面加一个逗号,代码完成时应该为你完成。

IntelliJ没有这样做,而AFAIK没有它的插件。
你没有解决方案(除非你自己构建了一个插件,但是你只需要另一个工作来维护该插件)

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

  • 按Ctrl + P查看功能的可能参数。
  • Ctrl + Shift + Space列出可在相应参数位置(基于类型)作为参数输入的可能变量。
    如果函数需要另一个参数,这也会输入逗号。

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

另请注意:IntelliSense是Microsoft的智能代码完成实现,IntelliJ和Eclipse都不使用它。


正如frant.hartm在答案中所述:

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

他们甚至表示欢迎人们制作插件来做到这一点。

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

方法参数完成

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

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

尝试

Ctrl + Space

对于

基本代码完成

和以前一样写的

Ctrl + Shift + Space

对于

输入代码完成

或尝试第二个变体TWICE。 有关自动完成代码的更多信息,请访问此处

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM