对于Uri具有相同的值,openTextDocument
没有任何可辨别的效果,但executeCommand
成功打开了文档。
vscode.workspace.openTextDocument(uri);
vscode.commands.executeCommand("vscode.open", uri);
vscode.workspace.openTextDocument
有任何已知问题吗?
这可能只是对openTextDocument()
所做的误解。它只是创建了一个vscode.TextDocument
实例,实际上在UI中显示它与它无关。这就是为什么它在vscode.workspace
命名空间而不是vscode.window
。
vscode.window.showTextDocument
用于实际显示文档:
在文本编辑器中显示给定的文档。可以提供一列来控制编辑器的显示位置。可能会更改活动编辑器。
vscode.workspace.openTextDocument(...).then(
document => vscode.window.showTextDocument(document));