1

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

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

但 getDocument 似乎返回 null。

谢谢

4

3 回答 3

1

我遇到了同样的问题,我在这里找到了一个有帮助的帖子。试一试:

IDocumentProvider provider = new TextFileDocumentProvider();
provider.connect(ifile);
document = provider.getDocument(ifile);
于 2013-11-26T00:46:33.900 回答
0

这不是 getDocument() 的正确参数,但您应该使用无头 FileBuffers API,从 FileBuffers 本身开始,获取 ITextFileBufferManager,然后使用它打开文本文件缓冲区及其 IDocument:http:// help.eclipse.org/juno/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/core/filebuffers/FileBuffers.html

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

于 2013-06-03T13:58:00.443 回答
0

你可以这样做:

IFile file = (IFile) resource;
IPath filePath = file.getLocation();
filePath = FileBuffers.normalizeLocation(filePath);
IDocument document = FileBuffers.getTextFileBufferManager().getTextFileBuffer(filePath , LocationKind.NORMALIZE).getDocument();
于 2021-06-23T18:56:18.253 回答