我如何找到ITextViewer内容的项目?

时间:2009-12-08 11:09:18

标签: eclipse eclipse-jdt

我正在尝试为Eclipse插件实现HyperlinkDetector,回调方法正在为我提供一个ITextViewer。

如何获取查看者IDocument的项目,IPath或IFile?
显然,IDocument的概念是只允许访问内容而不管源是什么。我能想到的就是检查工作台中的活动编辑器部分......

由于它是我正在处理的Java代码,如果有帮助,实际类型是JavaSourceViewer。

1 个答案:

答案 0 :(得分:4)

在查看文章Abstract Syntax Tree之后,您可以通过询问ITextFileBufferManager

来寻找正确的路径
ITextFileBufferManager bufferManager = FileBuffers.getTextFileBufferManager(); // get the buffer manager

然后使用getTextFileBuffer()

 ITextFileBuffer getTextFileBuffer(IDocument document);

如果您获得ITextFileBuffer,则可以拨打getLocation()并取回IPath