Extension point for providing custom content assist processors in Eclipse
Asked Answered
E

7

8

I am writing eclipse plugin to add better support for properties files. One of the missing piece is content-assist ... I'd like to show matching properties keys when user starts typing some string and presses content assist key.

For example, when I have property hello = world in one of my properties files, and I start typing format("hel and hit CTRL+SPACE now, I'd like to see available hello property.

My problem is that I cannot find correct extension point to provide custom content assist processor. How can I provide my own content assist processor for text files? I'd like to make it work mainly in Java, JSP and XML files.

Evertor answered 30/12, 2009 at 20:36 Comment(0)
C
3

I've looked for such an extension point before with no success. As far as I know it's not possible to add new types of content assist to editors in Eclipse in this way.

Clotheshorse answered 7/1, 2010 at 16:58 Comment(1)
Thank you very much David. You confirm my own failure to find such extension point. As far as I understand, I can only add content-assist helpers for specific editors, which have own extension points (some of them ... it seems that e.g. Java editor has such ability). Fortunately for me, Java editor and JSP editor are what I am mostly interested.August
G
8

You can do it by declaring an extension to:

org.eclipse.jdt.ui.javaCompletionProposalComputer

Here is the reference page to start with.

You can find a demo project here

Garygarza answered 24/3, 2011 at 11:55 Comment(0)
C
3

I've looked for such an extension point before with no success. As far as I know it's not possible to add new types of content assist to editors in Eclipse in this way.

Clotheshorse answered 7/1, 2010 at 16:58 Comment(1)
Thank you very much David. You confirm my own failure to find such extension point. As far as I understand, I can only add content-assist helpers for specific editors, which have own extension points (some of them ... it seems that e.g. Java editor has such ability). Fortunately for me, Java editor and JSP editor are what I am mostly interested.August
O
2

You can create a plug-in project, the option, "plug-in with an editor", there is a small XML language editor with syntax coloring (this class will help you to know the classes for the extension). The content assist is not used, but you can add it looking this FAQs

Syntax coloring http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Feditors_highlighting.htm

Content Assitant http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Feditors_contentassist.htm

The only thing that I am trying to find is the add Information like JavaDoc to the proposal for the defined assistant. In the FAQ say something but I really don't understand it.

Hope it helps.

Oswaldooswalt answered 1/9, 2011 at 12:18 Comment(0)
G
1

If properties files can follow an EBNF grammar, then you could give Eclipse Xtext a shot

Xtext is a framework for development of textual domain specific languages (DSLs).
Just describe your very own DSL using Xtext's simple EBNF grammar language and the generator will create a parser, an AST-meta model (implemented in EMF) as well as a full-featured Eclipse text editor from that.

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

The Framework integrates with technology from Eclipse Modeling such as EMF, GMF, M2T and parts of EMFT.
Development with Xtext is optimized for short turn-arounds, so that adding new features to an existing DSL is a matter of minutes. Still sophisticated programming languages can be implemented.


Otherwise, you can find some example of content assist in this thread, or this one (JSDT -- JavaScript)

Gretta answered 30/12, 2009 at 21:5 Comment(1)
Thank you for answer. My question may not be clear, since this is not what I am looking for. Properties files are not described by grammar, but specified in javadoc for Properties.load() method (java.sun.com/j2se/1.5.0/docs/api/java/util/…). Two threads you reference are specific for WTP/DLTK. I am looking for generic content-assist extension point which would work with most text-editors. Those referenced threads may indicate that content-assist processors are always specific for given editor type, which would not be good :-(August
E
0

Looks like IContentProposalProvider may be what I am looking for, but still no extension point.

Evertor answered 30/12, 2009 at 20:36 Comment(0)
D
0

See this: http://www.vogella.de/articles/RichClientPlatform/article.html#fieldassist

This is not extension based solution, but may still benefit you.

Deming answered 16/1, 2010 at 21:9 Comment(1)
Thanks, but this is only useful when adding content-assist to your own editors. I want to contribute content assist to existing editors created by other plugins.August
L
0

Have a look at

http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.wst.doc.isv/html/plugin_descriptions_WST/wst.html

for ideas for the wst xml editor and potentially other types of editors

Louie answered 27/1, 2010 at 20:25 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.