2

Eclipse 编辑器如何工作以启用代码完成?例如,在 Hibernate 属性文件的 XML 编辑器中,如果我ctrl-space在标记内,将显示与 hibernate 相关的可能值列表。

Eclipse 建议在 Hibernate hbm.xml 文件中的 Java 类中定义的字段。

我知道 XML 编辑器已预先配置为理解 xml 标签,但是特定于特定框架的标签呢?Eclipse 是如何知道这一点的?

4

6 回答 6

2

我相信 eclipse XML 编辑器从任何引用的 DTD 或它与 XML 文件关联的 XMLSchema 信息中获取内容辅助信息。试试这个实验:删除文件开头的 DOCTYPE 条目,看看内容辅助是否仍然有效。

于 2010-02-24T06:40:54.757 回答
0

这是您可以使用的解决方案。实际上我在文件方面遇到了同样的问题struts.xml。我无法通过cntrl+space

我所做的是...

Preferences...Java...Editor...Content Assist...Advanced

选中所有复选框并按 OK。

有时由于日食中的一些误报,问题仍然存在。如果发生这种情况,只需删除您的 xml 文件并在同一位置创建一个新文件。

我希望它会有所帮助。

于 2014-09-04T20:13:21.757 回答
0

如果您有兴趣编写自己的内容助手,您可能需要先阅读以下内容:

http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/editors_contentassist.htm

简而言之,就像 Eclipse 中的大多数东西一样,这是一个平台挂钩。当您按下按钮时,它会查询所有已注册的助手(我在这里简化),并根据当前元素甚至当前内容提供建议。

在为特定语言或文档类型编写源编辑器或查看器时,通常至少提供一些基本的内容助手。

于 2010-02-22T04:15:51.813 回答
0

要添加到Uri答案,您可以使用XText为您自己的语言定义自己的编辑器,只要您的 DSL(域特定语言)有简单的EBNF 语法语言。

https://raw.githubusercontent.com/eclipse/xtext/master/plugins/org.eclipse.xtend.doc.xdoc/xdoc/images/getting-started-editor.png

你将会有:

  • 语法着色,
  • 模型导航(F3等),
  • 代码完成,
  • 大纲视图,以及
  • 代码模板。
于 2010-02-22T05:10:30.603 回答
0

删除了文件开头的 DOCTYPE 条目,我现在可以在输入 ctrl+space 时看到命令...

于 2010-07-23T07:16:05.013 回答
0
于 2016-01-17T17:39:30.573 回答