首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vscode.window.showTextDocument()意外关闭当前文档

vscode.window.showTextDocument()意外关闭当前文档
EN

Stack Overflow用户
提问于 2019-11-20 03:42:38
回答 1查看 513关注 0票数 1

我正在开发一个VSCode扩展,它注册一个TextDocumentContentProvider,为某些Azure资源提供一个自定义的只读查看器。我让它以我想要的方式工作,除了一个奇怪的行为。我无法让VSCode为不同的urls打开多个编辑器。当已经有一个编辑器显示我的一个文档时,调用vscode.window.showTextDocument()总是在编辑新文档之前关闭当前文档。普通文件不会出现这种情况。

具体地说,这个序列:

代码语言:javascript
复制
doc1 = await vscode.workspace.openTextDocument( "file1.txt" );
edit1 = await vscode.window.showTextDocument( doc1, undefined, true );

doc2 = await vscode.workspace.openTextDocument( "file2.txt" );
edit2 = await vscode.window.showTextDocument( doc2, undefined, true );

始终导致两个编辑窗口/选项卡按预期显示每个文件的内容,而以下顺序:

代码语言:javascript
复制
doc1 = await vscode.workspace.openTextDocument( <url1> );
edit1 = await vscode.window.showTextDocument( doc1, undefined, true );

doc2 = await vscode.workspace.openTextDocument( <url2> );
edit2 = await vscode.window.showTextDocument( doc2, undefined, true );

始终导致只有一个编辑窗口/选项卡显示与url2关联的内容。

调试程序中的单步执行确认第二个showTextDocument()调用关闭了第一个文档,并在同一编辑窗口/选项卡中显示第二个文档。

是否需要向提供程序添加一些额外的功能或配置,以允许同时打开多个文档?有没有人能说点什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-03 02:35:16

默认情况下,VS代码在preview mode中打开新的文本文档。这意味着当打开第二个文档时,它将替换打开的第一个文档。

您可以通过在传递给showTextDocumentTextDocumentShowOptions中设置preview: false来完全打开文档

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58941748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档