只有一部分扩展程序可以在浏览器中运行。 您可以使用“扩展”视图在 Web 中安装扩展,无法安装的扩展将显示警告图标和“了解原因”链接。
安装扩展程序时,它会保存在浏览器的本地存储中。 通过启用设置同步,您可以确保您的扩展在 VS Code 实例之间同步,包括不同的浏览器甚至桌面。
当扩展包包含不在浏览器沙箱中运行的扩展时,您将收到一条信息性消息,其中包含查看包中包含的扩展的选项。
当扩展在浏览器沙箱中执行时,它们会受到更多限制。 纯粹声明性的扩展(例如大多数主题、片段或语法)可以不加修改地运行,并且可以在 VS Code for the Web 中使用,而无需扩展作者进行任何修改。 运行代码的扩展需要更新以支持在浏览器沙箱中运行。 您可以在 Web 扩展作者指南中详细了解支持浏览器中的扩展所涉及的内容。
还有一些扩展程序仅在部分支持下运行在浏览器中。 一个很好的例子是语言扩展将其支持限制为单个文件或当前打开的文件。
Visual Studio Code 可以作为浏览器中的编辑器运行。一个例子是通过按 到达 github.dev 用户界面。 (句号键)在 GitHub 中浏览存储库或拉取请求时。在 Web 中使用 VS Code 时,已安装的扩展在浏览器中的扩展主机中运行,称为“Web 扩展主机”。可以在 Web 扩展主机中运行的扩展称为“Web 扩展”。
Web 扩展与常规扩展共享相同的结构,但考虑到不同的运行时,不要使用与为 Node.js 运行时编写的扩展相同的代码运行。 Web 扩展仍然可以访问完整的 VS Code API,但不再可以访问 Node.js API 和模块加载。相反,Web 扩展程序受浏览器沙箱的限制,因此与普通扩展程序相比具有局限性。
VS Code 桌面也支持 Web 扩展运行时。如果您决定将扩展创建为 Web 扩展,它将在 VS Code for the Web(包括 vscode.dev 和 github.dev)以及桌面和 GitHub Codespaces 等服务中受支持。
更多Jerry的原创文章,尽在:“汪子熙”:
如果觉得《关于某些 Visual Studio Code 扩展程序无法在浏览器中运行的原因》对你有帮助,请点赞、收藏,并留下你的观点哦!