在Eclipse中提供自定义内容辅助处理器的扩展点

时间:2009-12-30 20:36:26

标签: eclipse content-assist

我正在编写eclipse插件,以便为属性文件添加更好的支持。其中一个缺少的内容是内容辅助...我想在用户开始键入一些字符串并按下内容辅助键时显示匹配的属性键。

例如,当我在其中一个属性文件中有属性hello = world时,我开始输入format("hel并点击 CTRL + SPACE 现在,我希望看到hello属性。

我的问题是我找不到正确的扩展点来提供自定义内容辅助处理器。如何为文本文件提供自己的内容辅助处理器?我想使它主要用于Java,JSP和XML文件。

7 个答案:

答案 0 :(得分:8)

您可以通过声明扩展名来执行此操作:

org.eclipse.jdt.ui.javaCompletionProposalComputer

以下是reference page

您可以找到演示项目here

答案 1 :(得分:3)

我之前没有成功地寻找过这样的扩展点。据我所知,不可能以这种方式向Eclipse中的编辑添加新类型的内容辅助。

答案 2 :(得分:2)

您可以创建一个插件项目,选项,“带编辑器的插件”,还有一个带语法着色的小型XML语言编辑器(此类将帮助您了解扩展的类)。不使用内容辅助,但您可以添加它来查看此常见问题解答

语法着色 http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Feditors_highlighting.htm

内容助手 http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Feditors_contentassist.htm

我唯一想要找到的是将JavaDoc等信息添加到已定义助手的提案中。在常见问题中说了些什么,但我真的不明白。

希望它有所帮助。

答案 3 :(得分:1)

如果属性文件可以跟随EBNF grammar,那么您可以给Eclipse Xtext 一个

  

Xtext是用于开发文本域特定语言(DSL)的框架   使用Xtext的简单EBNF语法语言描述您自己的DSL,生成器将创建一个解析器,一个AST-meta模型(在EMF中实现)以及一个功能齐全的Eclipse文本编辑器

alt text http://www.eclipse.org/Xtext/images/screenshot-title.png

  

该框架集成了Eclipse Modeling的技术,如EMF,GMF,M2T和部分EMFT   使用Xtext的开发针对短周转进行了优化,因此向现有DSL添加新功能只需几分钟。仍然可以实现复杂的编程语言。


否则,您可以在this threadthis one(JSDT - JavaScript)中找到一些内容辅助示例

答案 4 :(得分:0)

看起来IContentProposalProvider可能就是我想要的,但仍然没有扩展点。

答案 5 :(得分:0)

请参阅:http://www.vogella.de/articles/RichClientPlatform/article.html#fieldassist

这不是基于扩展的解决方案,但可能仍然会让您受益。

答案 6 :(得分:0)