如果我的类有一个非空的构造函数,是否可以自动完成new表达式中的参数?
使用Eclipse时,如果在光标位于括号之间时按ctrl+ space:
MyClass myObject = new MyClass();
Run Code Online (Sandbox Code Playgroud)
它会找到合适的参数.
--> MyClass myObject = new MyClass(name, value);
Run Code Online (Sandbox Code Playgroud)
当我在使用ctrl+ shift+ spacebar之后new,Intellij向我展示了构造函数,但是我不能选择一个用于自动完成.我错过了一个选项吗?
osu*_*lad 106
我通常从CtrlP(Parameter Info动作)开始看看接受了哪些参数(在我看来,自动猜测完成是容易出错的方法).如果在你的情况下你要填写name类型,n则会出现一个下拉菜单,其中包含所有可用的变量/字段(等),n Arrow Up/Down以及Tab选择名称,或CtrlSpace选择方法(甚至CtrlAltSpace被建议杀死;-),通过,与v Tab对价值.
Gam*_*lor 12
那么就是Ctrl + Shift + Space组合,它试图提出一组可能的参数.如果您再次按Ctrl + Shift + Space,Idea会尝试查找适合多个呼叫和转换的参数.
所以在你的例子中,Ctrl + Shift + Space几乎肯定会把'name'作为建议.而下一个Ctrl + Shift + Space会提出"值"作为建议.
在 Intellij Idea 2016.3 中,您可以使用option+ return。它会询问您是否要为您所在的论点和所有追随者引入命名论点。