2011-12-13 86 views
66

我创建了一个项目,它要求我选择JDK版本并完成。找不到system.out.println()

我在自动完成中找不到system命名空间。

我手动输入,但IDEA告诉我system不存在。

+19

只需输入'sout'和TAB。 – vikingsteve

+1

@ vlio20真的提供了方法,但要记得指定一个适用的上下文(例如Java和/或Groovy)。除非你这样做,否则它将不起作用(个人体验!) – paranza

回答

205

这是System(有盖)

一些非常有用的快捷键:

soutm (+TAB) ==> System.out.println("Class.And.Method.Name") 
soutv (+TAB) ==> System.out.println("Last variable used = " + value); 
sout (+TAB) ==> System.out.println(); 

我真的很喜欢的IntelliJ。很高兴我从几年前的Eclipse转移到它;)

+5

哦,那么智能感应是区分大小写的?与日食相比,这是一个缺点。 – JatSing

+1

但是你的对象是区分大小写的,所以它是有道理的...在我接受尝试IntelliJ一段时间(即2008年)之前,我使用了Eclipse 6年。 3天后,我确信。无论如何,对于他自己来说,Eclipse也很棒:) – Guillaume

+0

我更喜欢不区分大小写的自动完成,所以对我来说这是一个缺点。如果有改变这种行为的选择,那将是非常好的。 – JatSing

13

我们可以将自动完成设置更改为忽略案例。转到:

File -> Settings... -> IDE Settings -> Editor -> Code Completion 

,改变'区分大小写完成''无'

+2

对于2016版本,该设置位于文件>设置>编辑>常规>代码完成>区分大小写完成>无' – Lucky

35

只需键入sout

public class Main { 

public static void main(String[] args) { 
    int data = 1; 
    System.out.println(); ===>sout 
    System.out.println("Main.main"); ===>soutm 
    System.out.println("args = [" + args + "]"); ===>soutp 
    System.out.println("data = " + data); ===>soutv 
} 

}

sout - 只是打印的System.out.println()

soutm - 加入类名称&方法名

soutp - 添加的参数

soutv - 加入最后一个变量名称

12

我来自日食并使用syso快捷方式,所以我刚刚将它添加到我的实时模板中。这里是一个templete:

System.out.println($END$);

下面是截图: enter image description here

不要忘记添加Java作为适用的情况下(在窗口的底部)。
现在,当你键入syso这里会出现一个提示是截图:
enter image description here

希望它可以帮助

0

这也可能发生,因为用户没有创建任何主要功能或试图直接测试这个在课堂上没有任何功能

+0

这应该是一条评论,而不是一个答案。 –