操作方法:Eclipse插件Textmarker按行显示荧光笔而不是删除它们

时间:2014-03-05 13:56:37

标签: eclipse eclipse-plugin annotations highlighting

我编写自己的Eclipse-Plugin并从服务器获取错误日志。 该日志包括亚麻布。如果单击我视图中的错误,我想用另一种背景颜色标记这一行。我的问题我只能使用CHAR_START和CHAR_END在我的编辑器中标记文本,但我不知道每行中有多少个字符。行号完全无视我怎么能在我的代码中删除这些标记?在我的示例中,无论我设置的行

,都会标记前10个字符
          IEditorPart editorPart = PlatformUI.getWorkbench()
                    .getActiveWorkbenchWindow().getActivePage()
                    .getActiveEditor();
            if (editorPart != null) {
                FileEditorInput input = (FileEditorInput) editorPart
                        .getEditorInput();
                IFile file = input.getFile();
                IMarker marker = null;
                try {
                    marker = file.createMarker("de.fhduesseldorf.medien.mi.codecheck.marker");
                    marker.setAttribute(IMarker.LINE_NUMBER, 4);
                    marker.setAttribute(IMarker.CHAR_START, 0);
                    marker.setAttribute(IMarker.CHAR_END, 10);
                } catch (CoreException e) {
                    e.printStackTrace();
                }
            }

1 个答案:

答案 0 :(得分:1)

您必须获取正在编辑的文本内容并手动计算每行中的字符(包括新行字符),直到您到达相关行。这是确定给定一行或多行的字符偏移的唯一方法。