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