首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vscode.workspace.onDidCloseTextDocument的回调函数在开发时起作用,但在打包成vsix后不起作用

vscode.workspace.onDidCloseTextDocument的回调函数在开发时起作用,但在打包成vsix后不起作用
EN

Stack Overflow用户
提问于 2019-08-15 00:11:33
回答 1查看 559关注 0票数 1

在我的扩展中,我先使用vscode.workspace.openTextDocument打开一个本地文件,然后使用vscode.window.showTextDocumentvscode.workspace.onDidCloseTextDocument关闭该文件。

如果使用代码运行扩展,这似乎工作得很好。

现在我已经使用vsce包创建了vsix文件。棘手的事情来了

vscode.workspace.onDidOpenTextDocumentvscode.workspace.onDidSaveTextDocument回调都是按照预期调用的。但是,当我在UI中关闭文件时,不会调用vscode.workspace.onDidCloseTextDocument回调。(在安装扩展时,我会遇到这个问题。)

我错过了什么吗?

重现步骤:

1)使用vscode.workspace.openTextDocument,然后使用vscode.window.showTextDocument打开文件。

2)监听vscode.workspace.onDidCloseTextDocument中的事件。

3)在编辑器中关闭文件。

4)检查vscode.workspace.onDidCloseTextDocument回调是否按预期调用。

此git repo https://github.com/akhilravuri1/hellovscode中存在代码,请克隆代码并通过在命令行中键入vsce package命令来创建vsix包。使用vsix文件安装扩展,并选择hello world命令,然后它将打开一个文件,但当您关闭它时,它就会关闭,但我希望在命令面板中有一个带有YES或NO的选择选项。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-08-16 19:50:17

我试过你的分机了。

欢迎屏幕文本编辑器关闭并加载ddl.txt时,我得到OnClose-event。

文档说您应该使用vscode.window on-events,但它们不允许监视文档关闭。

非常奇怪的是,OnClose-event会在语言更改时触发(这种情况会发生)。您无法判断是语言更改还是文档关闭。

当我用File > Open打开并关闭ddl.txt时,我得到了OnClose-event。

我在用File > Open打开的所有文件上都得到了OnClose-event。

看起来用vscode.workspace.openTextDocumentvscode.window.showTextDocument打开的文件不会触发OnClose-event。

您应该提交一个错误,因为这些调用会生成一个正常的TextDocument

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

https://stackoverflow.com/questions/57498434

复制
相关文章

相似问题

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