私を困惑させる奇妙な問題があります。次のコードを使用して、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
ても効果なし。
そしてアイデア?