我正在尝试为 Eclipse 插件实现 HyperlinkDetector,而回调方法正在给我一个 ITextViewer 来使用。
如何获取查看者的 IDocument 的项目、IPath 或 IFile?
显然,IDocument 的概念是只允许访问内容而不管来源如何。我能想到的就是检查工作台中的活动编辑器部分......
由于它是我正在处理的 Java 代码,因此如果有帮助,实际类型是 JavaSourceViewer。
我正在尝试为 Eclipse 插件实现 HyperlinkDetector,而回调方法正在给我一个 ITextViewer 来使用。
如何获取查看者的 IDocument 的项目、IPath 或 IFile?
显然,IDocument 的概念是只允许访问内容而不管来源如何。我能想到的就是检查工作台中的活动编辑器部分......
由于它是我正在处理的 Java 代码,因此如果有帮助,实际类型是 JavaSourceViewer。
在看了文章Abstract Syntax Tree之后,您可能可以通过询问来寻找正确的路径ITextFileBufferManager
ITextFileBufferManager bufferManager = FileBuffers.getTextFileBufferManager(); // get the buffer manager
ITextFileBuffer getTextFileBuffer(IDocument document);
如果你得到一个ITextFileBuffer
,你可以调用它getLocation()
并取回它的IPath
。