IntelliJ能否自动完成“新”expression式的构造参数?

如果我的类有一个非空的构造函数,是否有可能在newexpression式中自动完成参数?

使用Eclipse时,如果在光标位于括号之间时按Ctrl + 空格键:

 MyClass myObject = new MyClass(); 

它会find合适的参数。

 --> MyClass myObject = new MyClass(name, value); 

当我使用ctrl + shift + 空格键后,Intellij显示我的构造函数,但我不能select一个自动完成。 我错过了一个选项?

在Intellij Idea 2016.3中,您可以使用选项 + 返回 。 它会问你是否要为你所在的论点和所有的追随者引入命名的论点。

在这里输入图像说明

我通常从Ctrl P开始,看看接受了什么参数(自动猜测完成是我认为容易出错的方法)。 如果你想要填写nametypesn则会出现一个下拉菜单,其中包含所有可用的variables/字段(等),以及向上/向下箭头选项卡以select名称,或Ctrl 空间来select方法Ctrl Alt Space被build议杀死;-),其次是,v Tab的值。

那么我使用了未分配参数信息的eclipse key map。 这里是如何改变:

在这里输入图像说明

那就是Ctrl + Shift + Space组合,它试图提出一组可能的参数。 如果您再次按下Ctrl + Shift +空格,则Idea会尝试find适合多次调用和转换的参数。

所以在你的例子中,Ctrl + Shift + Space几乎肯定会引出“名字”的build议。 而下一个Ctrl + Ship + Space会提示“值”。

目前还没有这种可能性。 由于IDEA不会自动填充参数,因此在查找中区分构造函数是没有意义的。 有一个请求(http://youtrack.jetbrains.net/issue/IDEABKL-5496),虽然我真心相信这样的行为太危险,容易出错。;