我在workspace.onWillSaveTextDocument
处理程序上运行回调。它提供了vscode.TextDocument
,这对于我想对此活动所做的工作是必要的。
在某些情况下,我想要处理其他文件(当前未打开),就好像它们刚刚被保存一样。
能够创建vscode.TextDocument
的新实例就足够了,但我无法弄明白。
有没有办法做类似的事情:
workspace.pretendThisWasSavedJustNow('/path/to/other/file.ts');
答案 0 :(得分:1)
我在VSCode上工作,虽然我不知道您的确切用例,但我相信您正在寻找workspace.openTextDocument
。
要对workspace.onWillSaveTextDocument
以及您的扩展程序触发的其他事件使用相同的功能,请尝试以下操作:
// Actual save
workspace.onWillSaveTextDocument(e => onDocumentSave(e.document))
// Emulated save
setInterval(() => {
workspace.openTextDocument('path/to/other/file.ts')
.then(document => onDocumentSave(document))
}, 5000)
// Common save handling implementation
function onDocumentSave(document: TextDocument) { ... }