2011-01-27 11 views
54

如果我的类有一个非空构造函数,是否可以自动完成new表达式中的参数?IntelliJ能否在“新”表达式上自动完成构造函数参数?

使用Eclipse,如果按CTRL +空间光标在括号之间:

MyClass myObject = new MyClass(); 

它会找到合适的参数。

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

当我使用CTRL ++空格键new,显示的IntelliJ我的构造函数,但我不能选择一个用于自动完成。我错过了一个选项吗?

+0

你能否改革你的问题。这很混乱。我不知道你想表达什么意思。 – sandalone 2011-01-27 11:14:29

回答

2

在IntelliJ IDEA的2016.3你可以使用选项 + 回报。它会询问你是否要为你所参与的论点和所有追随者引入命名的论点。

enter image description here

2

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

+1

Ctrl + P,参数信息(在方法调用参数中)。 – user7610 2014-06-26 23:08:20

+7

我不同意 - 为什么用户至少选择启用它会如此危险?这是一个非常有用的功能,可能很容易实现 - 所以我没有看到没有实现这个功能的价值。 – quantum 2014-10-10 22:03:24

+0

当任何供应商想告诉我什么是好的或不好的开发行为时,总是很有趣。 它非常有意义,因为当我创建一个班级时,我需要选择使用哪个班级。否则ctors是没有意义的。 – Bevor 2016-09-17 14:46:22

9

嗯,这里有Ctrl + Shift + Space组合,它试图提出一组可能的参数。如果您再次按下Ctrl + Shift +空格,Idea会尝试找到适用于多次调用&转换的参数。

因此,在你的例子中,Ctrl + Shift + Space几乎肯定会引出'name'的建议。然后下一个Ctrl + Ship + Space会提示'值'作为建议。

97

我通常按CtrlP开始看到被接受什么样的参数(自动猜完全是这样错误在我看来容易)。如果在你的情况下,你要填写namen一个下拉菜单中出现的所有可用变量/场(ETC)与n向上/向下箭头标签开始选择名称,或按Ctrl空间选择一种方法(甚至按CtrlAlt键空间被建议;-)杀死,随后是价值,v标签

11

那么我使用的eclipse键映射其中参数信息未分配。 下面是如何改变这种状况:

enter image description here