我正在编写eclipse插件,以便为属性文件添加更好的支持。其中一个缺少的内容是内容辅助...我想在用户开始键入一些字符串并按下内容辅助键时显示匹配的属性键。
例如,当我在其中一个属性文件中有属性hello = world
时,我开始输入format("hel
并点击 CTRL + SPACE 现在,我希望看到hello
属性。
我的问题是我找不到正确的扩展点来提供自定义内容辅助处理器。如何为文本文件提供自己的内容辅助处理器?我想使它主要用于Java,JSP和XML文件。
答案 0 :(得分:8)
您可以通过声明扩展名来执行此操作:
org.eclipse.jdt.ui.javaCompletionProposalComputer
以下是reference page。
您可以找到演示项目here
答案 1 :(得分:3)
我之前没有成功地寻找过这样的扩展点。据我所知,不可能以这种方式向Eclipse中的编辑添加新类型的内容辅助。
答案 2 :(得分:2)
您可以创建一个插件项目,选项,“带编辑器的插件”,还有一个带语法着色的小型XML语言编辑器(此类将帮助您了解扩展的类)。不使用内容辅助,但您可以添加它来查看此常见问题解答
我唯一想要找到的是将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 thread或this one(JSDT - JavaScript)中找到一些内容辅助示例
答案 4 :(得分:0)
看起来IContentProposalProvider可能就是我想要的,但仍然没有扩展点。
答案 5 :(得分:0)
请参阅:http://www.vogella.de/articles/RichClientPlatform/article.html#fieldassist
这不是基于扩展的解决方案,但可能仍然会让您受益。
答案 6 :(得分:0)