Eclipse Editor für Dateityp konfigurieren

KrokoDiehl

Top Contributor
Hallo zusammen.
Ich habe eine Konfigurationsfrage zu Eclipse, und zwar:

Wir haben in der Firma Dateitypen mit einer 4GL-Sprache. Das Ganze ist schon etwas älter, wird aber noch bearbeitet. Da andere Projekte (C/C++ und Java) mit Eclipse bearbeitet werden, wäre es nun prima, wenn man diese 4GL-Dateien auch mit Eclipse öffnen und bearbeiten kann (bis wird es mit einem externen Editor gemacht).
Diese Dateien sind einfache Textdateien, brauchen aber eine bestimmte Schriftart und ein eigenes Syntaxhighlighting wäre auch nett (...bitte fragt mich nicht, wer sich das ausgedacht hat ;) ).

Nun habe ich es bisher nur geschafft, Eclipse zu sagen, dass er die Dateien mit seinem Standard-Texteditor zu öffnen. Ich kann den Dateityp auch anderen, existierenden Editoren zuweisen (Javaeditor, C-Editor, ...), aber ich bräuchte eben einen eigenen.

Nun die Frage: Kann man eine eigene Instanz des Eclipse-Texteditor definieren, mit eigenem Highlighting und Schriftart, oder geht das nur über ein Plugin? Oder gibt es weitere Ideen dazu?

Danke schonmal.

---
Bisher habe ich mich in den Einstellungen (Window->Preferences):
Code:
General
 + Content Types
 + Editors
     + File Associations
bewegt.
 
G

Gastredner

Gast
Ich denke, das dürfte nur über ein Plugin mit einer eigenen Editor-Komponente funktionieren.
 

Wildcard

Top Contributor
Gibt es eine Grammatik für die Sprache? Wenn ja, dann kannst du aus dieser Grammatik einen Eclipse Editor generieren lassen der Syntax Highlighting, Folding, Outline, Auto Completion,... unterstützt.
Die Grammatik muss dazu in der Regel etwas angepasst werden, aber wenn du sie postest und nicht allzu kompliziert ist kann ich mir das mal anschauen
 

KrokoDiehl

Top Contributor
Hallo.
Also erstmal danke für die Überlegungen. Das mit der Grammatik ...tja. Es gibt (fast) eine, aber keine schön notierte und zusammengefasste: In einem älteren Handbuch gibt es eine Quasi-BNF, aber ich gehe mal stark davon aus, dass die nicht die vollständige Sprache beschreibt.
Ich werde mich diesbezüglich aber nochmal näher informieren, der Ansatz klingt auf jeden Fall klug, denn so eine Grammatik wäre noch an anderen Stellen hilfreich.
 

Wildcard

Top Contributor
Sie muss nicht komplett formal sein, Quasi-(E)BNF ist perfekt. Von da aus muss man sowieso etwas umschreiben.
Poste mir doch ein somewhat self-contained snippet der Grammatik, oder beschreibe einen Teil der Sprache, dann kann ich dir am konkreten Beispiel zeigen wie man dafür einen Editor erzeugt.
 

KrokoDiehl

Top Contributor
Hallo. Also ich habe mal zwei Blöcke kopiert, die mir spontan recht vollständig erschienen. Ich hoffe sie helfen dir.

Beim ersten habe ich schon die ersten Sonderzeichen rausfischen müssen: Bei "<Operator>" gibt es ein paar mathem. Symbole. Die Unicodes dafür sind:
≤ == U+2264
≥ == U+2265
∈ == HTML: ∈ (Unicode spontan nicht gefunden)

Code:
<Select>		::=	<Selectart> <Feld/Tabelle >; <Bedingung> [<Order by> <Feld>] [desc] 
				| Tn

<Selectart>		::=	<Select> | <SSelect> | <LSelect> | <NSelect> | <NLSelect> 
<Feld/Tabelle>		::=	[<Feld>/] <Tabelle> {, <Tabelle>} | [<Aggregatsfkt> / <Tabelle> | 
				<Führungstabelle> }
<Bedingung>		::=	<Feld> <Operator> <Vergleichswert> {<und> | <oder>
				<Feld> <Operator> <Vergleichswert>}
<Feld>			::=	<Feld-Nr> | <Feld-Nr>&<Feld-Nr>
<Operator>		::=	∈|<|>|≤| ≥ |=|#|<>|matches
<Aggregatsfkt>		::=	count | max | min | sum (* | <Feld> {<Operation> <Feld>})
<Operation>		::=	+ | - | * | /
<Führungstabelle>	::=	<Nummer>
<Vergleichswert>	::=	<Variable> | <Puffer> | <String> | <Datenbankfeld> |
				<Subselect> | <IN> | <Exists> | <Not Exists>
<Variable>		::=	<Feldvariable> | <Standardvariable> | <GL-Variable> | <FT-Variable>
<Puffer>		::=	<Feld> / <Tabelle> | <Führungstabelle>
<String>		::=	<Text>
<Datenbankfeld>		::=	<Feld> / <Tabelle>
<Subselect>		::=	(<Select>)
<IN>			::=	IN (<Select>)
<Exists)		::=	Exists (<Select>)
<Not Exists>		::=	Not Exists (<Select>)

Code:
<Tabelle>			::=	<Kapitel-Nr> <Kapitelname> <Tabellenart> : <Tabname>
{<Feldname> <Typ> [<Index>] [<Plausibilität>] [<Feldkzbesch>] <Feld-Nr> [<Verwendungsprüfung>] [<Default>] [<V>] [<E>]}

<Tabellenart>			::=	T | TI(?) | TZ | TB | TS | TSG

<Tabname>			::=	<Text>

<Feldname>			::=	<Text>

<Typ>				::=	<Typtab>

<Index>			::=	<Nummer> | *

<Feld-Nr>			::=	<Nummer>

<Verwendungsprüfung>	::=	+ | -

<Default>			::=	<Text>

<V>				::=	V | S | P

<E>				::=	* | C | D
 

Wildcard

Top Contributor
Packst du noch ein Code Fragment der Sprache dazu? Das macht es einfacher die Grammatik zu lesen und den Editor zu testen.
 

Wildcard

Top Contributor
In den beiden Blöcken haben leider zu viele Regeln gefehlt. Ausserdem war für mich (da ich die Sprache nicht kenne) nicht ersichtlich was wiederholt werden darf, was optional oder mandatory ist,...
Wie auch immer, ich habe einen Teil der Grammatik umgesetzt und fehlende Regeln nach eigenem Gusto gefüllt damit du mal eine Vorstellung bekommst wie das Resultat aussieht.

In den Screenshots unten siehst du den aus der Grammatik generierten Editor.
Unter anderem folgende Features bekommst du out-of-the-box
-Syntax Highlighting
-Semantic Highlightinj
-Live Validation
-Quickfixes
-Outline
-Quick Outline
-Code Completion
-Auto Formatter
-Incremental Builder Infrastruktur
-Compiler Infrastruktur
-Lexer
-Parser
-AST
-Linker
-EMF Modell der Sprache
-Serializer
 

Anhänge

  • Bildschirmfoto7.png
    Bildschirmfoto7.png
    47,9 KB · Aufrufe: 53
  • Bildschirmfoto4.png
    Bildschirmfoto4.png
    47,7 KB · Aufrufe: 46
  • Bildschirmfoto5.png
    Bildschirmfoto5.png
    11,5 KB · Aufrufe: 35
  • Bildschirmfoto6.png
    Bildschirmfoto6.png
    20,7 KB · Aufrufe: 42
  • Bildschirmfoto8.png
    Bildschirmfoto8.png
    20 KB · Aufrufe: 37

KrokoDiehl

Top Contributor
Erst einmal vielen Dank Wildcard! Ich kenne die Sprache leider auch nicht wirklich, hatte nur gesagt bekommen, dass ich ja mal schauen könnte, obs da was für Eclipse gäbe.

Offenbar tut es das. Kannst du mir sagen womit du den Editor aus der Grammatik generierst? Bzw. wie? Dann könnte man sich über eine saubere / ausführlichere Grammatik mal Gedanken machen.

Ansonsten setze ich mich mal hin und mach für ein paar Sprachschnipsel eine Grammatik bzw. prüfe diese mal.
 

Wildcard

Top Contributor
Das Projekt heißt Xtext und ist auf der Helios Update Site zu finden.
Hier ist der Grammatikschnippsel den ich verwendet habe:
Code:
grammar org.example.language.TableLanguage with org.eclipse.xtext.common.Terminals

generate tableLanguage "http://www.example.org/language/TableLanguage"



Model:
	(elements+=Element ';')+;
	
	
Element:
	Tabelle | Select;	
	
Tabelle:
	kapitelnummer=INT kapitelname=STRING tabellenart=TabellenArt ':' name=ID
	'{'
		(fields+=Field)*
	'}';	
	

Field:
	name=ID /*<Typ> <Index> <Plausibilität>*/ feldkzbesch=STRING? feldnummer=INT verwendungspruefung=Verwendungspruefung default=STRING? ';';

enum TabellenArt:
	T |  TI='TI(?)' | TZ | TB | TS | TSG;
	
enum Verwendungspruefung:
 plus='+' | minus='-';	

 
 Select:
 	'Select' (feld=[Field] '/')? tabelle=[Tabelle] bedingung=Bedingung ('Order By' orderByField=[Field])?;
 	
Bedingung:
  feld=[Field] operator=Operator vergleichswert=STRING;
 	
enum Operator:
  elementOf='∈' | smaller='<' | greater='>' | smallerOrEqual='≤' | greaterOrEqual='≥' | equal='='| hash='#' | unequal='<>'| matches;

Mehr brauchst du nicht um den Editor zu generieren.
Einfach ein neues Xtext Projekt anlegen, die Grammatik editieren und dann generieren.
 

Hades16

Mitglied
Ich habe gerade ein ähnliches Projekt, kann mir jemand ein Tutorial auf deutsch empfehlen? Die Google-Suche ergab leider keine Treffer.
 

Wildcard

Top Contributor
Ich habe gerade ein ähnliches Projekt, kann mir jemand ein Tutorial auf deutsch empfehlen? Die Google-Suche ergab leider keine Treffer.

Auf Deutsch wirst du schlechte Karten haben für alles was mit Eclipse Entwicklung zu tun hat. Deutschland ist zwar mit die größte Eclipse Community, allerdings mailen, bloggen und dokumentieren wir alles in Englisch, damit ein größerer Entwicklerkreis davon profitieren kann.
 

Hades16

Mitglied
Okay, dann eben auf englisch. Mein Problem ist, dass ich das Konzept noch nicht richtig verstanden habe.
Damit meine ich, wie funktioniert die Grammatik und was gibt es für Codewörter?
Gibt es eine Art Befehlsreferenz?
 

KrokoDiehl

Top Contributor
Kleines Update (Fortsetzung hier) zum Thema: Das XText ist gut, wenn man eine beschreibbare Grammatik hat, für unseren Fall aber kann man keine einheitliche Grammatik finden, weswegen XText hier nicht helfen kann. Ich schließe das Thema damit.
 

KrokoDiehl

Top Contributor
Ach Wildcard, diese 4GL-Sprache ist ohnehin eine Art Wunder ;) (...im gleichen Sinne wie man Flutwellen als Wunder bezeichnen kann...).
Sie wird mit einem selbstgeschriebenen Parser ausgewertet und umgesetzt. Das größte Problem ist hier, dass die Grammatik zwischen konkreten Dateien unterscheidet und diese unterschiedlich auswertet.
Ich glaube mittlerweile nicht, dass man sich 'damals' Gedanken um eine Grammatik gemacht hat. Im Handbuch sind daher auch nur immer einzelne Befehlsblöcke in BNF beschrieben.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Eclipse JavaScript-Editor für die ScriptEngine von Java IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
K Eclipse Editor: Formatierung - Plugin für umfangreichere Optionen? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
R Guter GUI Editor für Eclipse? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
A Free UML Editor für Eclipse? Empfehlung? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
G Wird der Visual Editor für Eclipse weiterentwickelt? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
E Empfohlener Syntax Highlighter (Editor) für Anfänger IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 12
G Editor für Java debian/X11 IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 9
S Java Editor für Linux IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 9
G Java-Editor und -Compiler für USB-Stick IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
A Visual Editor von/für Eclipse gesucht IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
R UML-Diagramm-Editor für Java IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 11
C In Eclipse Einrückung im Java-Editor einstellen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
K Java Editor Problem IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
arjoopy Eclipse Anpassung Farbgebung Editor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
WetWer Welcher Java Editor wird empfolen? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 12
L0MiN Java Editor Spinnt nur mein Java Editor? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
J Gibt es einen Flussdiagramm-Editor, bei dem man den Ablauf auch durchspielen kan? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
S Eclipse Wie den Editor ein wenig aufbohren? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
U Eclipse Editor freier Cursor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
F Java Editor Label Farbe IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
I Java-Editor geht nicht IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
T Eclipse externer Editor einstellen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
R Eclipse Class File Editor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 11
S Eclipes Editor: auto-funktionen funktionieren nicht mehr IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
S netbeans <editor-fold> IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
T Eclipse IDE friert beim Öffnen einer Datei im Editor ein IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
G NetBeans Editor Hints haben keine Auswirkung IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
R Eclipse Visual Editor - es klappt einfach nicht! IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 11
M Eclipse Visual Editor - nichts mehr zu sehen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
Y simpler syntax highlight editor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
C Java Editor empfohlener editor unter linux (ubuntu 10) IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 13
X Eclipse - Pluginprobleme: UML editor (UML2) IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 10
K Eclipse Strings externalisieren - ResourceBundle-Editor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
A Eclipse Visual Editor merkwürdiges verhalten IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
W Probleme bei der Installation von Visual Editor in Eclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
K Eclipse Editor: Vertikale "Gitter"-Linien? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
algorismi Visual Editor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
K Wie den Visual Editor installieren? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
H Eclipse Visual Editor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
Ein Keks Eclipse - Unable to create editor ID IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 10
ARadauer Ganymede ohne JSP Editor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
V Eclipse Galileo und Visual Editor Problem IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 20
V Eclipse öffnet nicht den eingestellten JadClipse Editor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
T Editor zwischen Notepad und Eclipse. IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
I Einfacher Editor vs. Entwicklungsumgebung IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 48
P Eclipse 3.4 und Visual Editor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
I Eclipse mit dem Visual Editor downloaden? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 10
Kr0e Multiuser Editor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 18
E einfache Frage zu Netbeans und visual Editor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
R Visual Editor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
G Eclipse: Nur 1 einzelne Methode im Editor anzeigen? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
G Eclipse mit Visual Editor unter Mac OS IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
T Wie konfiguriere ich den Java Editor richtig? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
T Mein Java Editor startet 18 mal IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
byte Hibernate Tools: Criteria Editor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
B Eclipse Java Editor Methoden ausblenden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
G Benutzt ihr den Matisse GUI-Editor? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
T Eclipse 3.3 + Visual Editor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 15
Linad eclipse: gleiche Variablen anzeigen im Editor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
P Eclipse Visual Editor keine Patterns und keine Anzeige IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
G Editor/Compiler unter Linux IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
padde479 Eclipse: Visual Editor installieren IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
P Visual Editor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
G *.jar-datei in editor öffnen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 10
S XML Editor Plugin IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
S Visual Editor Plug-In unter Eclipse installieren, wie? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
H NetBeans 5 und GUI-Editor "Mantisse" IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
K HTML Editor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
L GUI editor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
K Visual Editor in Eclipse zeigt nichts an :-( IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
P Problem mit dem Visual Editor in Eclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
M Visual Editor und JFrame IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
B SQL-Editor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
S Grafischer Editor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
C Java-Editor Jedit - Button zum Kompilieren/Ausführen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
O Welcher Editor? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 34
E eclipse 3.0.1 Editor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
M Eclipse: Visual Editor und Layoutmanager IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
S JOE-Editor IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
S Erfahrungen mit Eclipse Visual Editor 1.0 IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
A Swing-GUI-Builder: JBuilder, NetBeans oder Visual Editor? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 14
D Eclipse 3 entlich mit GUI Editor? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
C kleiner Editor ! IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
A Eclipses Visual Editor und Arbeitsgeschwindigkeit IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
G Eclipse: Visual Editor verwenden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 9
C kleiner Java-Editor neben Eclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 15
M Eclipse - Class File Editor -> Source not found IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
B Java-Editor Probleme IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
M Netbeans nutzt veraltete Bibliotheken für JAX-WS IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
P Online IDE für mehrere Klassen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
I Suche eine IDE in deutsch für Java und Android IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 20
F Eclipse für Java 1.8 ARM einrichten IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
B Konsolenbefehl für Javaprogramm herausfinden? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 16
B .exe Datei für Eclipse Java Programm erstellen? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 9
LimDul IDEA IntelliJ Tipps für den Umstieg von Eclipse auf intelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
T Java-Version für BlueJ-Mac-Version IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
Zrebna Eclipse Für Nutzung von JPA zwingend 'IDE for Java EE Developers notwendig'? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
keinLebenNurCode Eclipse Eclipse: Gelbes Hilfsfenster für Funktionen und Methoden anzeigen lassen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
S Netbeans unterstützung für "Rule Switch" - Bug? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
anton1 Umfrage für Facharbeit IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0

Ähnliche Java Themen

Neue Themen


Oben