Ste*_*oka 8 eclipse selection eclipse-jdt
我正在尝试以编程方式对我正在编辑的文件执行'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());
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是OrganizeImportsAction在当前选择上执行,这与我正在编辑的编译单元不同.我想在编译单元上以编程方式设置选择,但我不知道如何做到这一点.或者可能还有另一种触发OrganizeImports的方法.
谢谢,斯特凡
也许这个测试ui.org.eclipse.jdt.ui.tests.quickfix.CleanUpTest
课可以提供一些线索。
它基于类enable
中的方法ui.org.eclipse.jdt.ui.tests.quickfix.CleanUpTestCase
和org.eclipse.ltk.core.refactoring.PerformChangeOperation
类上的方法。
您可以看到PerformChangeOperation
调用的墨迹类org.eclipse.ltk.ui.refactoring.RefactoringWizard
。
归档时间: |
|
查看次数: |
1361 次 |
最近记录: |