在我的eclipse插件中,我有一个StyledText
对象和IEditorReference
对象。我还有一个yCoordinate,我想用它来检查哪个行号低于这个坐标:
int lineIndex = styledText.getLineIndex(yCoordinate);
如果没有应用折线,这样可以正常工作。因此,我正在寻找一种方法,可以考虑线折叠,或者让我回到所有折叠线,以便我可以手动调整lineIndex
。我有什么选择?
答案 0 :(得分:2)
从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)
。