Eclipse cdt:IFile / IPath到IDocument

时间:2013-06-03 12:17:38

标签: eclipse eclipse-cdt

是否可以从IFile或IPath检索文档?我试过这个:

IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(hFilePath);
TextFileDocumentProvider provider = new TextFileDocumentProvider();
IDocument doc = provider.getDocument(file);

但getDocument似乎返回null。

由于

3 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我找到了一篇有帮助的帖子here。试一试:

IDocumentProvider provider = new TextFileDocumentProvider();
provider.connect(ifile);
document = provider.getDocument(ifile);

答案 1 :(得分:0)

这不是getDocument()的正确参数,但您应该使用无头FileBuffers API,从FileBuffers本身开始,获取ITextFileBufferManager,然后使用它打开文本文件缓冲区及其IDocument:{ {3}}。

完成后不要忘记断开与文件缓冲区的连接。

答案 2 :(得分:0)

你可以这样做:

IFile file = (IFile) resource;
IPath filePath = file.getLocation();
filePath = FileBuffers.normalizeLocation(filePath);
IDocument document = FileBuffers.getTextFileBufferManager().getTextFileBuffer(filePath , LocationKind.NORMALIZE).getDocument();