我有一个奇怪的问题让我感到困惑。我使用以下代码在 Eclipse 的编辑器中打开一个文件:
final IWorkbench wb = PlatformUI.getWorkbench();
IWorkbenchWindow window = wb.getActiveWorkbenchWindow();
final IWorkbenchPage page = window.getActivePage();
wb.getProgressService().runInUI( window, new IRunnableWithProgress() {
@Override
public void run( IProgressMonitor monitor ) throws InvocationTargetException, InterruptedException {
if( null == monitor ) {
monitor = new NullProgressMonitor();
}
try {
monitor.beginTask( "Append to file", 2 );
ITextEditor editor = (ITextEditor) IDE.openEditor( page, file );
monitor.worked( 1 );
// TODO Bug: Editor is active, it has the focus but doesn't process keypress events :-(
} catch( Exception e ) {
throw new InvocationTargetException( e, "Error appending to file " + file );
} finally {
monitor.done();
}
}
}, null );
我从互联网上的几个来源收集了一些零碎的东西。
奇怪的问题是编辑器似乎有焦点(标签突出显示,我看到它周围的蓝色边框)
但是在编辑器中没有可见的光标,当我输入一些东西时,什么也没有发生(在工作台的其他地方也没有发生任何事情)。
我也尝试过ITextEditor editor = (ITextEditor) IDE.openEditor( page, file, true );
,但结果相同。
当我单击选项卡时,会出现光标,我可以使用编辑器。但是,按下F12
没有效果。
和想法?