【问题标题】:How to launch a VSCode extension with a new file?如何使用新文件启动 VSCode 扩展?
【发布时间】:2018-03-12 05:27:16
【问题描述】:

我正在开发一个 VSCode 扩展,因为它目前只能在 JS 文件上运行,所以当我运行 Launch Extension 任务时,我希望它使用新的 Javascript 文件打开。我见过this related question 并尝试添加,只是按照docs 传递一个options 对象

 vscode.workspace.openTextDocument({language: 'javascript'})

这是一个异步调用,所以我在我的扩展程序激活时尝试了awaiting 它,以确保在我能够使用我的扩展程序之前文件存在。

如果我可以将此功能添加到启动扩展任务中,那就太好了,或者即使我可以让它在我运行我的命令时打开一个文件,这将在我开发它时执行。

关于如何做到这一点的任何想法?

【问题讨论】:

    标签: visual-studio-code vscode-extensions


    【解决方案1】:

    我不能 100% 确定,但我相信你的扩展只被激活了一次,并且一直保持这种状态,直到 vscode 关闭。因此,您不能触发多个激活调用。相反,您可以听文件打开

    workspace.onDidOpenTextDocument((doc: TextDocument) => {
        if (doc.languageId == "JS" && doc.uri.scheme === "file") {
            ...
        }
    });
    

    【讨论】:

    • 是的.. .ts 文件需要相同的功能.. 与该侦听器 if (doc.languageId === "typescript") 配合得很好。不确定是否需要doc.uri.scheme。当我评估它时,它似乎不可用。
    猜你喜欢
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    • 2023-01-29
    • 1970-01-01
    • 2019-10-13
    • 1970-01-01
    • 2015-12-05
    • 2019-05-04
    相关资源
    最近更新 更多