Eclipse 编辑器如何工作以启用代码完成?例如,在 Hibernate 属性文件的 XML 编辑器中,如果我ctrl-space在标记内,将显示与 hibernate 相关的可能值列表。
我知道 XML 编辑器已预先配置为理解 xml 标签,但是特定于特定框架的标签呢?Eclipse 是如何知道这一点的?
Eclipse 编辑器如何工作以启用代码完成?例如,在 Hibernate 属性文件的 XML 编辑器中,如果我ctrl-space在标记内,将显示与 hibernate 相关的可能值列表。
我知道 XML 编辑器已预先配置为理解 xml 标签,但是特定于特定框架的标签呢?Eclipse 是如何知道这一点的?
我相信 eclipse XML 编辑器从任何引用的 DTD 或它与 XML 文件关联的 XMLSchema 信息中获取内容辅助信息。试试这个实验:删除文件开头的 DOCTYPE 条目,看看内容辅助是否仍然有效。
这是您可以使用的解决方案。实际上我在文件方面遇到了同样的问题struts.xml
。我无法通过cntrl+space
我所做的是...
去Preferences...Java...Editor...Content Assist...Advanced
选中所有复选框并按 OK。
有时由于日食中的一些误报,问题仍然存在。如果发生这种情况,只需删除您的 xml 文件并在同一位置创建一个新文件。
我希望它会有所帮助。
如果您有兴趣编写自己的内容助手,您可能需要先阅读以下内容:
简而言之,就像 Eclipse 中的大多数东西一样,这是一个平台挂钩。当您按下按钮时,它会查询所有已注册的助手(我在这里简化),并根据当前元素甚至当前内容提供建议。
在为特定语言或文档类型编写源编辑器或查看器时,通常至少提供一些基本的内容助手。
删除了文件开头的 DOCTYPE 条目,我现在可以在输入 ctrl+space 时看到命令...