在Eclipse编辑器中打开文件,并将焦点设置在此编辑器上

时间:2012-11-21 17:27:39

标签: eclipse editor focus

我有一个让我困惑的奇怪问题。我使用以下代码在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无效。

和想法?

1 个答案:

答案 0 :(得分:1)

尝试paidDebug(即使它应该已经有效)。