Как прочитать содержимое редактора eclipse при редактировании / вводе текста в нем? - PullRequest
0 голосов
/ 19 января 2019

Я разрабатываю плагин Eclipse, который требуется для чтения содержимого редактора каждую минуту. Поэтому я хочу кнопку, чтобы запустить этот процесс и одну, чтобы остановить его. Поскольку я новичок в разработке плагинов, я попытался обойти шаблон, приведенный в eclipse. Но приложение во время выполнения вылетает.

Поскольку я новичок в разработке плагинов, я попытался обойти шаблон, заданный в eclipse. Но во время выполнения приложения происходит сбой.

public class SampleHandler extends AbstractHandler {

    int filename=0; 

    @Override
    public Object execute(ExecutionEvent event) throws ExecutionException {
        //IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);
        for (int i=0; i<10;i++) {

            /*MessageDialog.openInformation(
                window.getShell(),
                "TestEditorReader",
                "Running in background"); */// function call to print in the window

            PrintWriter writer = null;

            try {
                writer = new PrintWriter(filename+"file.txt", "UTF-8");
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (UnsupportedEncodingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            filename++;
            writer.println(getCurrentEditorContent()); // function call to store it in files
            writer.close();

            try {
                Thread.sleep(10000);
            }
            catch (InterruptedException ie) {

            }
        }

        return null;


    }

    public String getCurrentEditorContent() {
        final IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
            .getActiveEditor();
        if (!(editor instanceof ITextEditor)) return null;
        ITextEditor ite = (ITextEditor)editor;
        IDocument doc = ite.getDocumentProvider().getDocument(ite.getEditorInput());
        return doc.get();
    }

}
...