我正在尝试对我正在以编程方式编辑的文件以编程方式执行“OrganizeImports”。我的代码如下所示:
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());
}
}
我的问题是 OrganizeImportsAction 在当前选择上执行,这与我正在编辑的编译单元不同。我想在编译单元上以编程方式设置选择,但我不知道该怎么做。或者也许还有另一种触发 OrganizeImports 的方法。
谢谢,斯特凡