Ich schreibe gerade ein Eclipse-Plugin. Darin möchte ich einen Editor programmgesteuert öffnen und einen Teil des Textes auswählen. Die geöffnete Datei muss nicht in den Arbeitsbereich importiert werden (deshalb verwende ich IFileStore im folgenden Code).Eclipse: Wählen Sie Text in XSD programmatisch aus Plugin
I-Code bin mit diesem ähnlich ist:
IFileStore fileStore = EFS.getLocalFileSystem().getStore(localPath);
IEditorPart part = IDE.openEditorOnFileStore(page, fileStore);
final int posStart = ...;
final int posEnd = ...;
part.getEditorSite().getSelectionProvider().setSelection(
new TextSelection(posStart, posEnd - posStart));
Für Java-Dateien es funktioniert gut, aber für XML-Schema (XSD), es funktioniert nicht. Der Editor öffnet sich, aber es ist kein Text ausgewählt.
Vom Debuggen kann ich sagen, dass das Teil vom Typ org.eclipse.wst.xsd.ui.internal.editor.InternalXSDMultiPageEditor ist, und der Auswahlmanager ist ein org.eclipse.wst.xsd.ui.internal. adt.editor.CommonSelectionManager
Ich ziele auf Eclipse Mars und Neon, es scheint nicht für beide zu arbeiten.
Was kann ich tun, damit es funktioniert? Oder finden Sie zumindest weitere Informationen?
Sie müssen den Quellcode des Editors lesen, um zu sehen, was es unterstützt. –
Danke für die Antwort. Hast du eine Ahnung, wo ich das Quell-Repository für diese Klassen finde? Ich habe einen Download mit Quell-JARs gefunden, aber nicht mit dem Git-Repo. Von dem, was ich bisher gesehen habe, sieht es so aus, als ob es zur Zeit nicht unterstützt wird, aber ich würde das gerne etwas genauer untersuchen. –
Ich denke, das ist Teil von Eclipse WTP (Web Tools Project). Die Git Locations für diese sind hier aufgelistet (https://projects.eclipse.org/projects/webtools/developer) –