Ich versuche, 'OrganisiereImports' programmgesteuert auf Dateien auszuführen, die ich programmgesteuert bearbeite. Mein Code sieht wie folgt aus:Aufruf, um Importe programmgesteuert zu organisieren
final ICommandService cmdService = (ICommandService)PlatformUI.getWorkbench().getService (ICommandService.class);
if (cmdService != null) {
final Command cmd = cmdService.getCommand(IJavaEditorActionDefinitionIds.ORGANIZE_IMPORTS);
final ExecutionEvent execEvt = new ExecutionEvent(cmd, Collections.EMPTY_MAP, compileationUnit, null);
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
ResourcesPlugin.getWorkspace().
Display.getDefault().syncExec(new Runnable() {
@Override
public void run() {
try {
//cmd.executeWithChecks(execEvt);
cmd.execute(execEvt);
} catch (Exception e) {
getLogger().severe("organize imports failed: " + e.getMessage());
}
}
Mein Problem ist, dass OrganizeImportsAction auf der aktuellen Auswahl ausführt, die nicht die gleiche wie die Übersetzungseinheit ist ich bin Bearbeitung. Ich möchte die Auswahl programmatisch auf die Compilierungseinheit setzen, aber ich weiß nicht, wie das geht. Oder vielleicht gibt es eine andere Möglichkeit, OrganizeImports auszulösen.
Dank, stefan