不同种类的Eclipse Content-assist有什么作用?

在我的Eclipse Preferences -> Java -> Editor -> Content Assist -> Advanced设置中,我看到以下内容:

  • Java非类型提案
  • Java提案
  • Java提案(以任务为中心)
  • Java类型提案
  • JPA提案(对我来说总是空的)
  • PDE API工具建议(在内容辅助循环设置中选中时跳过)
  • SWT模板建议(总是空的)
  • 模板建议(总是空的)
  • Word Proposals (在Content-Assist Cycling设置中选中时跳过)

我尝试使用谷歌搜索(单独)“Java非类型提案”和“Java提案(以任务为中心)”,但没有找到任何描述它们。

条目匹配/Java ((Non-)?Type)? Proposals/ /Java ((Non-)?Type)? Proposals/对我有意义,但其他人没有。

那么,其他人做了什么?

  • 我从未见过PDE,SWT,模板或Word提案的结果。 它们什么时候有用?
  • 我也从未真正开始使用Mylyn,我想这是提供“Java Proposals(以任务为中心)”。 如果我没有使用Mylyn理解的错误跟踪器,那会给我带来什么呢?

我也从未真正开始使用Mylyn,我想这是提供“Java Proposals(以任务为中心)”。 如果我没有使用Mylyn理解的错误跟踪器,那会给我带来什么呢?

你可以用Mylyn做什么,即使没有集成的bug跟踪器(在Mylyn的说法中,也就是“任务库”),你可以在“本地”存储库中创建任务,并使用它们来维护不同开发任务的上下文。

Mylyn中的上下文支持非常独特,虽然在您第一次为新任务激活它时会感到不安,因为Mylyn所做的是像Package Explorer一样过滤窗口的内容,以便只有那些在您执行任务时可见的工件才可见已激活,现在,因为您刚刚第一次激活了任务,所以没有访问任何内容,并且Package Explorer为空!

您可能想要做的是,假设您的任务描述类似于“在your.code.AbstractMappingParameter中查找NPE的原因”,请使用Ctrl-shift-T(Open Type …)并导航到该类。 (在Open Task对话框中保存一些输入并使用camel case支持:只需键入“AMP”。)Package Explorer现在显示该类及其上面的层次结构(它所在的文件,包和项目) 。 编辑器,如果您将其配置为自动折叠代码,将显示折叠的每个注释和方法,以便您可以查看通常可能的更多类。

访问更多这样的文件,然后开始构建您的上下文,Mylyn会自动保存该任务。 您的后续“开放类型…”搜索现在首先显示在上下文类中,您提到的内容辅助提议也可以使用。 注意:除非您认为它们与任务无关,否则不要关闭文件。 关闭编辑器时,类/文件/等。 将从上下文中删除,并且不再出现在Package Explorer中。 平均开发任务不需要超过十几个文件,足够少的文件和编辑器窗口可以在您处理时保持打开状态。

如果您现在创建了另一个任务(本地或存储库中),然后激活它,您将再次使用已清除的Package Explorer启动,并在您工作时构建上下文。

然后,如果您重新激活第一个任务,您会看到一个有趣的事情:您打开的窗口将关闭,包浏览器将清除,然后您上次处理该任务时的资源管理器内容将会出现,那时你打开的所有窗户现在都会再打开! 你又回来了。 它非常方便。

在没有集成存储库的情况下,您可以使用Mylyn进行简要总结。 如果您想要了解更多内容,可以访问http://www.eclipse.org/mylyn/并阅读其中的内容。

对于您看到始终为空的模板建议和SWT模板建议,您需要在调用内容辅助之前键入内容。

试试看:

  1. 窗口 – >显示视图 – >模板(显示可能的模板列表)
  2. 在Java类中,将光标设置在方法之外但在类中
  3. 键入main然后按Ctrl-空格键
  4. 内容辅助应该显示
  5. 再次按Ctrl-Space切换到“模板建议”
  6. “主要方法”模板应在此处显示

您也可以尝试使用相同的SWT模板,使用额外的Ctrl-Space切换到SWT模板。 一个很好的例子是键入table因为这将显示TableTableColumnTableItem模板。

请注意,您需要在项目中使用SWT才能使其正常工作。

从实验中,模板提议是允许你输入像sysout这样的快捷方式,ctrl空间扩展到System.out.printnl(); 我不确定有哪些其他快捷方式可用 – 毫无疑问它们列在文档中的某个位置

我从未见过PDE,SWT,模板或Word提案的结果。 它们什么时候有用?

可能是您正在开展PDE或SWT项目。

我也从未真正开始使用Mylyn,我想这是提供“Java Proposals(以任务为中心)”。 如果我没有使用Mynlyn理解的错误跟踪器,那会给我带来什么呢?

同样,这可能适用于不属于您的用例(使用Mylyn的用户)。