Eclipse自动完成问题

时间:2011-03-18 22:17:43

标签: java eclipse autocomplete shortcut

刚刚安装了Eclipse Helios(Win7 64),我遇到了一个奇怪的问题。我键入syso-Ctrl-Space,它应该完成到System.out.println(“”),但它不起作用!我现在在网上搜索了大约一个小时,我设置了偏好设置> Java>编辑>内容辅助默认值,没有。其他一切似乎都有效。想法?
要明确:快捷方式有效,它完成除了目前为止看到的“syso”之外的所有内容,在syso(也尝试过sysout)上它显示“No Default Proposals”。我在内容辅助中找不到这种快捷方式,但无论如何我都将它们设置为默认值。

11 个答案:

答案 0 :(得分:17)

如果您仍无法自动完成工作,请尝试启用内容辅助菜单下的模板提案。这是确切的位置,

Windows->Preferences->Java->Editor->Content Assist->Advanced

并确保只有一个 syso 条目(在模板菜单下)。

答案 1 :(得分:8)

我相信正确的模板是“sysout”,我相信这可以在某处配置,但无法告诉你在哪里。尝试使用sysout,然后按Ctrl + Space 这是一个模板,您可以在

下找到所有模板

窗口 - >偏好 - > Java - >编辑 - >模板

在那里你可以看到模板名称是“sysout”,然后这将触发System.out.writeln()的字符串替换,但你可以更改模板名称(如果你更喜欢syso)和/或实际代码通过调用模板生成

干杯

答案 2 :(得分:4)

我正在使用Eclipse Galileo并遇到同样的问题。即使在尝试了上述提出的解决方案之后,它也没有奏效。在做出以下改变后,它终于出来了。

  1. 转到Windows->偏好设置> Java->编辑器>模板
  2. 选择sysout模板并进行编辑。
  3. 将上下文从Java语句更改为Java。
  4. 它对我有用。我希望这对你有所帮助。

答案 3 :(得分:3)

正如Peter所说,它在Window下 - > Java - >编辑 - >模板。 查找具有以下值的行。

sysout “Java语句”“打印到标准输出”“on”

预览应如下......

System.out.println(${word_selection}${});${cursor}

答案 4 :(得分:1)

您的光标需要位于获取该行合法的地方。如果您的光标位于方法定义中并键入syso,您将获得替换。但是,如果您的光标位于任何方法定义之外的文本部分中,例如您为类声明变量的位置,那么syso将不会建议非法行system.output.println();.

我遇到了这个问题,在这里阅读了所有的答案,确信它必须在我的副本中工作,并且意识到我一直在输入syso,而不是在方法中输入我最后一个方法的结束。

Eclipse on!

答案 5 :(得分:1)

您可以尝试使用ALT + L设置内容辅助的快捷方式,如果有效,则可以再次选择自己喜欢的快捷方式。 (快捷键Ctrl + Space与切换输入法的快捷方式冲突)。在Linux上的eclipse中,Word Completion的快捷方式是ALT + /,因此如果将其设置为Content Assist的快捷方式,它也会发生冲突。)

答案 6 :(得分:1)

请转到以下地址:

Windows->偏好设置 - > Java->编辑器 - >内容辅助 - >高级

然后点击恢复默认..........全部是

它的作品再次像魅力一样。

答案 7 :(得分:0)

同时检查此日食菜单: Windows - >偏好 - > Java - >外观 - >类型过滤器

如果您在此处看到java.*javax.*,请尝试将其删除(或“恢复默认设置”可以完成此项工作),看看它是否有效,它确实适用于我。

答案 8 :(得分:0)

刚刚找到Eclipse Luna的解决方案:编写syso并按CTRL + Space并单击“启用智能代码完成”,然后进行设置。 我相信你也可以在选项的某个地方找到它,但这样就快速而简单!

答案 9 :(得分:0)

DIRTY WORKAROUND: 你可以试试下面的AutoHotkey-Code,如果你仍然像我一样挣扎(仍然无法自己解决)

#persistent
#ifwinactive ahk_class SWT_Window0  ; eclipse java
:*:syso::
sendraw System.out.println()`;
loop, 2
    send {left}
return
#ifwinactive

您需要在.ahk文件中编写并运行它(需要安装AutoHotkey)。您可能想将此文件放入您的启动文件夹中。这是一个非常有用的工具,你可能希望有一天扩展它。

答案 10 :(得分:0)

您可能有重叠的快捷方式。转到'概述'而不是关键词'小节。键入" ctrl + space"在'过滤文字'部分。您应该看到"内容辅助"可能是另一个具有相同快捷方式的命令。如果存在另一个快捷方式,请将其快捷方式更改为其他快捷方式。