2009-12-30 9 views
8

Sto scrivendo il plug-in di eclissi per aggiungere un supporto migliore per i file delle proprietà. Uno dei pezzi mancanti è content-assist ... Mi piacerebbe mostrare le chiavi delle proprietà corrispondenti quando l'utente inizia a digitare una stringa e preme il tasto di aiuto contenuto.Punto di estensione per la fornitura di processori di assistenza per contenuti personalizzati in Eclipse

Per esempio, quando ho proprietà hello = world in uno dei miei file di proprietà, e mi metto a digitare format("hel e ha colpito CTRL +SPACE ora, mi piacerebbe vedere disponibili hello proprietà.

Il mio problema è che non riesco a trovare il punto di estensione corretto per fornire un processore di contenuto personalizzato. Come posso fornire il mio processore di assistenza contenuto per i file di testo? Mi piacerebbe farlo funzionare principalmente in file Java, JSP e XML.

risposta

3

Ho cercato un tale punto di estensione prima senza successo. Per quanto ne so non è possibile aggiungere in Eclipse nuovi tipi di assistenza per i contenuti agli editor in questo modo.

+1

Grazie mille David. Confermi che non riesca a trovare tale punto di estensione. Posso solo aggiungere helper content-assist per specifici editor, che hanno propri punti di estensione (alcuni di loro ... sembra che ad esempio l'editor Java abbia tale capacità). Fortunatamente per me, l'editor Java e l'editor JSP sono ciò che mi interessa maggiormente –

1

Se proprietà file possono seguire un EBNF grammar, allora si potrebbe dare Eclipse Xtext un colpo

xtext è un framework per lo sviluppo di dominio testuali linguaggi specifici (di DSL).
Basta descrivere il proprio DSL utilizzando il semplice linguaggio grammaticale EBNF di Xtext e il generatore creerà un parser, un modello AST-meta (implementato in EMF) e un editor di testo Eclipse completo da quello.

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

Il quadro integra con tecnologia da Eclipse Modeling come EMF, GMF, M2T e parti di EMFT.
Lo sviluppo con Xtext è ottimizzato per brevi turn-around, così che l'aggiunta di nuove funzionalità a una DSL esistente è questione di minuti. È possibile implementare linguaggi di programmazione ancora sofisticati.


In caso contrario, è possibile trovare alcuni esempi di contenuti assistere nella this thread, o this one (JSDT - JavaScript)

+0

Grazie per la risposta. La mia domanda potrebbe non essere chiara, poiché questo non è quello che sto cercando. I file delle proprietà non sono descritti dalla grammatica, ma sono specificati in javadoc per il metodo Properties.load() (http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html#load% 28java.io.InputStream% 29). Due thread di riferimento sono specifici per WTP/DLTK. Sto cercando un generico punto di estensione content-assist che funzioni con la maggior parte degli editor di testo. Quelle discussioni a cui si fa riferimento potrebbero indicare che i processori content-assist sono sempre specifici per un determinato tipo di editor, il che non sarebbe corretto :-( –

0

Sembra IContentProposalProvider può essere quello che sto cercando, ma ancora nessun punto di estensione .

8

Puoi farlo dichiarando un'estensione:

org.eclipse.jdt.ui.javaCompletionProposalComputer 

Ecco il reference page per iniziare.

È possibile trovare un progetto demo here

2

È possibile creare un progetto plug-in, l'opzione, "plug-in con un editor", c'è un piccolo editor di linguaggio XML con la colorazione della sintassi (questa classe sarà aiutarvi a conoscere le classi per l'estensione). Il contenuto assistere non viene utilizzato, ma è possibile aggiungerlo alla ricerca questa FAQs

la colorazione della sintassi 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

L'unica cosa che sto cercando di trovare è l'informazione aggiungere come JavaDoc alla proposta per l'assistente definito. Nelle FAQ dici qualcosa ma io davvero non lo capisco.

Spero che aiuti.

Problemi correlati