在我的eclipse插件中,我有一个StyledText对象和一个IEditorReference对象。我还有一个yCoordinate,我想用它来检查哪个行号在这个坐标之下:
int lineIndex = styledText.getLineIndex(yCoordinate);如果没有应用线条折叠,则可以很好地工作。因此,我正在寻找一种方法,它可以考虑线条折叠,或者返回所有折叠的线条,以便我可以手动调整lineIndex。我有什么选择?
发布于 2014-10-15 01:45:27
您可以从IEditorReference获取IEditorPart
IEditorPart part = ref.getEditor(false);如果零件是ITextEditor,您可以执行以下操作:
ITextEditor editor = (ITextEditor)part;
IDocumentProvider provider = editor.getDocumentProvider();
IEditorInput input = editor.getEditorInput();
IDocument document = provider.getDocument(input);
int line = document.getLineOfOffset(offset in text);“文本中的偏移量”是从文档开头算起的字符数。StyledText有许多方法可以获取此值,例如getOffsetAtLocation(Point)。
https://stackoverflow.com/questions/26366615
复制相似问题