我编写自己的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(); } }
答案 0 :(得分:1)
您必须获取正在编辑的文本内容并手动计算每行中的字符(包括新行字符),直到您到达相关行。这是确定给定一行或多行的字符偏移的唯一方法。