首页 > 解决方案 > vscode.workspace.openTextDocument 静默失败

问题描述

使用相同的 Uri 值,openTextDocument无法产生任何明显的效果,但executeCommand成功打开文档。

vscode.workspace.openTextDocument(uri);
vscode.commands.executeCommand("vscode.open", uri);

是否有任何已知问题vscode.workspace.openTextDocument

标签: visual-studio-codevscode-extensions

解决方案


这可能只是对做什么的openTextDocument() 误解。它只是创建一个vscode.TextDocument实例,实际上在 UI 中显示它是独立的。这就是为什么它在vscode.workspace命名空间而不是vscode.window.

vscode.window.showTextDocument用于实际显示文档:

在文本编辑器中显示给定的文档。可以提供一列来控制编辑器的显示位置。可能会更改活动编辑器。

vscode.workspace.openTextDocument(...).then(
    document => vscode.window.showTextDocument(document));

推荐阅读