Eclipse是否有像Visual Studio一样的自动填充类型的插件,所以我不必一直按 Ctrl + Space 来破坏我的空格键? (如果您不知道它在Visual Studio中是如何工作的,请不要打扰回答。)
而且,我是否可以将自动完成限制为导入的包,而不是地球上的每个Java类?当我和GWT合作时,看到来自awt和swing等的建议很令人沮丧。而且我不想将每个Java类添加到过滤器中,这只是愚蠢的。 (再次,就像在Visual Studio中完成它一样!)
答案 0 :(得分:24)
关于你的第二部分,yes you can
- 打开Eclipse
- 从菜单中选择窗口/首选项
- 从左侧菜单中展开Java /外观/类型过滤器
- 点击“添加包”按钮,输入“java.awt”(不带引号),然后点击OK
- 确定你的出路
这将使Eclipse从您的类型提前列表中删除java.awt包中的所有匹配类。非常好......
所以Eclipse中存在“预先输入”(在此status report in June 2006中提到),但它是自动完成的同义词,通常由 CTRL + Space ...(这不是你想要的)
更具体地说,您在Visual Studio 中有automatic auto-completion(在键入时完成,带有“Common”或“All”可能的完成列表)的类型在Eclipse中不存在(实际上如下):
原始答案2010年1月:
至少,不是没有专门的插件 即使使用该插件,它也必须遵循
TemplateCompletionProcessor
,这意味着它需要一个字符列表来触发所述完成(再次,不是您正在寻找的),通过重新定义方法getCompletionProposalAutoActivationCharacters()
。
2011年11月更新:
Cristi在his answer(upvoted)中提到了一个很好的解决方法,其中包括将所有字母添加为java的自动激活触发器。
另请参阅“Automatically opening completion window in Eclipse”。
从帖子“Eclipse auto-completion ”:
Windows -> Preferences -> Java -> Editor -> Content Assist
- 将延迟设置为:0(实际上> 0更好:50,因为不断收听而避免CPU选择)
- 将触发器设置为:
.(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV WXYZ@
答案 1 :(得分:14)
我的回答可能来得太晚,但也许可以帮助其他人在日食中搜索此功能。 这个解决方法适用于我(eclipse helios):
转到Windows -> Preferences -> Java -> Editor -> Content Assist
。
在这里,启用自动激活并将自动激活延迟设置为较低的值,比方说50 ms。
然后是解决方法:在java的自动激活触发器中,只需输入所有字符:abcdefghijklmnopqrstuvwxyz
。
然后你去,只需输入一些东西。
答案 2 :(得分:1)
按下“。”时会触发完成,如果这是您所说的“预先输入类型自动完成”。这也是Visual Studio的功能,除非您指的是我不知道的另一个Visual Studio功能。
将完成限制为仅导入的软件包我认为这是一个有点不正统的事情;您不得不依赖通配符导入来定义要完成的类型集。我认为大多数用户会认为这不是很有用。不过,欢迎您详细说明您的用例。例如,为什么要从完成中排除所有Java类?
顺便说一句,使用“类型过滤器”(如VonC建议的那样)不需要您添加每个类。我通常(全局)排除java.awt.*
,sun.com.*
,org.omd.*
和其他一些内容。 Eclipse还根据(类型敏感)启发式排序完成,这通常会导致最相关的类型显示在顶部。例如,方法调用内的自动完成将把与方法类型签名匹配的变量放在顶部。
答案 3 :(得分:0)
我知道Claus在他的问题的第二部分谈到了Java,但是一般的问题是关于Eclipse中的任何语言(这里没有Java标记),所以以下内容可能对 python eclipse编码员:
转到Windows -> Preferences -> PyDev -> Editor -> Code Completion
。在这里,选中“请求完成所有字母字符和'_'?”旁边的框。
(有点类似于克里斯蒂的回答。)