现已发布!阅读关于 12 月份的新功能和修复。

Visual Studio Code for the Web

Visual Studio Code for the Web 提供了免费、无需安装的 Microsoft Visual Studio Code 体验,完全在您的浏览器中运行,让您可以快速安全地浏览源代码仓库并进行轻量级代码更改。要开始使用,请在浏览器中访问 https://vscode.dev

VS Code for the Web 拥有许多您喜爱的 VS Code 桌面版的功能,包括浏览和编辑时的搜索和语法高亮,以及用于处理代码库和进行简单编辑的扩展支持。除了打开来自 GitHub 和 Azure Repos 等源代码提供商的仓库、fork 和拉取请求外,您还可以处理存储在本地计算机上的代码。

VS Code for the Web 完全在您的 Web 浏览器中运行,因此与桌面体验相比存在某些限制,您可以在 下方 阅读更多相关信息。

以下视频快速概述了 Visual Studio Code for the Web。

与 VS Code 桌面版的关系

VS Code for the Web 提供了一个基于浏览器的体验,用于导航文件和仓库并提交轻量级代码更改。但是,如果您需要访问运行时环境来运行、构建或调试代码,想要使用终端等平台功能,或者想运行 Web 中不支持的扩展,我们建议将您的工作迁移到桌面应用程序、GitHub Codespaces,或使用 远程隧道 以获得 VS Code 的全部功能。此外,VS Code 桌面版允许您使用一套完整的、不受浏览器限制的键盘快捷键。

准备切换时,只需点击几下,即可 “升级” 到完整的 VS Code 体验。

您还可以通过选择齿轮图标,然后选择“切换到 Insiders 版本...”,或直接访问 https://insiders.vscode.dev,在 VS Code for the Web 的稳定版和 Insiders 版本之间切换。

打开项目

通过访问 https://vscode.dev,您可以创建一个新的本地文件或项目,处理现有的本地项目,或访问托管在其他地方的源代码仓库,例如 GitHub 和 Azure Repos(Azure DevOps 的一部分)。

您可以在 Web 中创建新的本地文件,就像在 VS Code 桌面环境中一样,使用命令面板 (F1) 中的“文件” > “新建文件”。

GitHub 仓库

您可以直接从 URL 在 VS Code for the Web 中打开 GitHub 仓库,遵循以下格式:https://vscode.dev/github/<organization>/<repo>。以 VS Code 仓库为例,这将是:https://vscode.dev/github/microsoft/vscode

此体验通过自定义的 vscode.dev/github URL 提供,该 URL 由 GitHub Repositories 扩展(是更广泛的 Remote Repositories 扩展的一部分)提供支持。

GitHub Repositories 允许您在编辑器中远程浏览和编辑仓库,而无需将代码拉取到本地计算机。您可以在我们的 GitHub Repositories 指南中了解有关此扩展及其工作原理的更多信息。

注意GitHub Repositories 扩展在 VS Code 桌面版中也能提供快速的仓库浏览和编辑。安装扩展后,您可以使用“GitHub Repositories: Open Repository...”命令打开仓库。

您还可以通过安装 Chrome 和 Edge 的 vscode.dev 扩展,在浏览器的地址栏(也称为 omnibox)中打开 GitHub 仓库。然后,键入 code 激活 omnibox,然后输入您的仓库名称。建议内容由您的浏览器搜索历史记录填充,因此如果所需的仓库未出现,您还可以输入完整的 <owner>/<repo> 名称来打开它,例如 microsoft/vscode

Type  in your browser and search a GitHub repository to open in vscode.dev

如果您已经在 https://vscode.dev 上的 VS Code for the Web 中,您也可以通过 Remote Repositories 扩展命令导航到不同的仓库。选择状态栏左下角的远程指示器,您将看到“打开远程仓库...”命令。

GitHub Repositories

Azure Repos

您可以在 VS Code for the Web 中像打开 Github 仓库一样打开 Azure Repos。

当您导航到格式为 https://vscode.dev/azurerepos/<organization>/<project>/<repo> 的 URL 时,您将能够读取、搜索仓库中的文件,并将您的更改提交到 Azure Repos。您可以获取、拉取和同步更改,并查看分支。

您可以通过在 Azure Repos URL 前加上 vscode.dev,在 VS Code for the Web 中打开 Azure Repos 中的任何仓库、分支或标签。

或者,当您在 Azure DevOps 仓库或拉取请求页面时,可以按 (.) 在 VS Code for the Web 中打开它。

更多自定义 URL

与桌面版一样,您可以通过丰富的扩展生态系统自定义 VS Code for the Web,这些扩展支持几乎所有的后端、语言和服务。vscode.dev 包含提供常用体验快捷方式的 URL。

我们已经探讨了几个 URL(vscode.dev/githubvscode.dev/azurerepos)。这是一个更完整的列表

服务 URL 结构 文档
GitHub /github/<org>/<repo> 更多信息请参见上文
Azure Repos /azurerepos/<org>/<project>/<repo> 更多信息请参见上文
Visual Studio Live Share /editor/liveshare/<sessionId> 更多信息请参见下方
Visual Studio Marketplace /editor/marketplace/<marketplacePublisher>
/<extensionId>/<extensionVersion>
编辑 此扩展路由示例
Power Pages /power/pages Power Pages 文档
配置文件 /editor/profile/github/<GUID> 配置文件文档
主题 /editor/theme/<extensionId> 更多信息请参见下方
MakeCode /edu/makecode MakeCode 文档
VS Code for Education /edu VS Code for Education 落地页
Azure Machine Learning (AML) /+ms-toolsai.vscode-ai-remote-web AML 文档
Azure /azure VS Code for Azure

请注意,某些 URL 必须以特定方式输入(例如,vscode.dev/editor/liveshare 需要一个活动的 Live Share 会话)。请查阅每个服务的文档以获取具体的访问和使用信息。

下方有关于其中一些 URL 的更多信息。

主题

您可以通过 URL 模式 https://vscode.dev/editor/theme/<extensionId> 在 VS Code for the Web 中共享和体验主题。

例如,您可以访问 https://vscode.dev/editor/theme/sdras.night-owl 来体验 Night Owl 主题,而无需进行下载和安装过程。

注意:颜色主题 URL 模式适用于完全声明性的主题(无代码)。

一个扩展可以定义多个主题。您可以使用模式 /editor/theme/<extensionId>/<themeName>。如果未指定 themeName,VS Code for the Web 将使用第一个主题。

作为主题作者,您可以将以下徽章添加到您的扩展 README 中,让用户可以轻松地在 VS Code for the Web 中试用您的主题(将 <extensionId> 替换为您的主题扩展的唯一标识符)

[![Preview in vscode.dev](https://img.shields.io/badge/preview%20in-vscode.dev-blue)](https://vscode.dev/editor/theme/<extensionId>)

Visual Studio Live Share

Live Share 访客会话可以通过 https://vscode.dev/editor/liveshare URL 在浏览器中可用。sessionId 将传递给扩展,以实现无缝加入体验。

在其他环境中继续工作

在某些情况下,您可能需要访问能够运行代码的其他环境。您可以切换到处理一个具有本地文件系统支持以及完整语言和开发工具链的支持的开发环境中的仓库。

GitHub Repositories 扩展使您可以轻松地将仓库克隆到本地,在桌面版中重新打开它,或者为当前仓库创建 GitHub codespace(如果您安装了 GitHub Codespaces 扩展并且有权创建 GitHub codespaces)。要执行此操作,请使用命令面板 (F1) 中提供的“继续处理...”命令,或单击状态栏中的远程指示器。

保存和共享工作

在 Web 中处理本地文件时,如果启用了 自动保存,您的工作会自动保存。您也可以像在桌面版 VS Code 中一样手动保存(例如,文件 > 保存)。

处理远程仓库时,您的工作会保存在浏览器的本地存储中,直到您提交为止。如果您使用 GitHub Repositories 打开仓库或拉取请求,可以在源代码管理视图中推送您的更改以持久化任何新工作。

您还可以通过 继续处理 在其他环境中继续工作。

当您第一次使用带有未提交更改的“继续处理...”功能时,您将可以选择使用“云更改”将编辑内容带到您选择的开发环境,该功能使用 VS Code 服务来存储您待处理的更改。这在 GitHub Repositories 文档中有更详细的描述。

使用远程隧道连接您自己的计算实例

您可以使用 Remote - Tunnels 扩展在 VS Code for the Web 中针对其他计算机进行开发。

Remote - Tunnels 扩展允许您通过安全隧道连接到远程计算机,如桌面 PC 或虚拟机 (VM)。然后,您可以从任何地方安全地连接到该计算机,而无需 SSH。这使您可以将“自己的计算”带入 vscode.dev,从而实现额外的场景,例如在浏览器中运行代码。

您可以在其 文档 中了解有关 Remote - Tunnels 的更多信息。

安全探索

VS Code for the Web 完全运行在您 Web 浏览器的沙箱内,并提供了一个非常受限的执行环境。

在访问远程仓库的代码时,Web 编辑器不会“克隆”仓库,而是直接从您的浏览器调用服务的 API 来加载代码;这进一步降低了克隆不受信任的仓库时的攻击面。

处理本地文件时,VS Code for the Web 会通过您浏览器的文件系统访问 API 加载它们,这会限制浏览器可以访问的范围。

在任何地方运行

GitHub Codespaces 类似,VS Code for the Web 可以在平板电脑(如 iPad)上运行。

语言支持

语言支持在 Web 上略有不同,包括代码编辑、导航和浏览。桌面体验通常由语言服务和编译器提供支持,这些语言服务和编译器期望有文件系统、运行时和计算环境。在浏览器中,这些体验由在浏览器中运行的语言服务提供支持,这些服务提供源代码标记化和语法着色、补全以及许多单文件操作。

通常,体验分为以下几类

  • 良好:对于大多数编程语言,VS Code for the Web 提供代码语法着色、文本补全和括号对颜色显示。通过 anycode 扩展使用 Tree-sitter 语法树,我们可以为 C/C++、C#、Java、PHP、Rust 和 Go 等流行语言提供额外的体验,例如大纲/转到符号符号搜索
  • 更好:TypeScript、JavaScript 和 Python 体验都由在浏览器中本地运行的语言服务提供支持。对于这些编程语言,您将获得“良好”体验,以及丰富的单文件补全、语义高亮、语法错误等。
  • 最佳:对于许多“Web”语言,如 JSON、HTML、CSS 和 LESS 等,vscode.dev 中的编码体验几乎与桌面版相同(包括 Markdown 预览!)。

您可以通过状态栏中的语言状态指示器来确定当前文件中语言支持的级别

Language status indicator

限制

由于 VS Code for the Web 完全在浏览器中运行,因此某些体验自然会比桌面应用程序受到更多限制。例如,没有终端和调试器,这很合理,因为您无法在浏览器沙箱内编译、运行和调试 Rust 或 Go 应用程序。

扩展

只有一部分扩展可以在浏览器中运行。您可以使用扩展视图在 Web 中安装扩展,而无法安装的扩展将带有警告图标和“了解原因”链接。我们预计将来会有更多扩展可用。

Limited extension support

安装扩展时,它会保存在浏览器的本地存储中。您可以通过启用 设置同步来确保您的扩展在各种 VS Code 实例(包括不同的浏览器甚至桌面版)之间同步。

当扩展包包含无法在浏览器沙箱中运行的扩展时,您会收到一条信息,可以选择查看包中包含的扩展。

Python extension pack limit

在浏览器沙箱中执行的扩展会受到更多限制。纯声明性的扩展,如大多数主题、片段或语法,可以未经修改地运行,并且可以在 VS Code for the Web 中使用,而无需扩展作者进行任何修改。运行代码的扩展需要更新才能支持在浏览器沙箱中运行。您可以在 Web 扩展作者指南 中详细了解支持浏览器中扩展所涉及的内容。

还有一些扩展在浏览器中具有部分支持。一个很好的例子是语言扩展,它将支持限制为单个文件或当前打开的文件。

文件系统 API

Edge 和 Chrome 目前支持 文件系统 API,允许网页访问本地文件系统。如果您的浏览器不支持文件系统 API,则无法在本地打开文件夹,但可以打开文件。

浏览器支持

您可以使用最新版本的 Chrome、Edge、Firefox 和 Safari 中的 VS Code for the Web。每个浏览器的旧版本可能无法正常工作 - 我们只保证支持最新版本。

提示:一种检查兼容浏览器版本的方法是查看当前用于测试 VS Code 的 Playwright 版本,并查看其支持的浏览器版本。您可以在 VS Code 仓库的 package.json 文件中找到当前使用的 Playwright 版本,路径为 devDependencies/@playwright/test。一旦您知道 Playwright 版本,例如 1.37,然后就可以查看其 发布说明 中的浏览器版本部分。

Webview 在 Firefox 和 Safari 中可能显示不同或出现某些意外行为。您可以在 VS Code GitHub 仓库中查看问题查询,以跟踪与特定浏览器相关的问题,例如与 Safari 标签Firefox 标签 相关的。

您还可以采取其他步骤来改善使用 VS Code for the Web 的浏览器体验。有关更多信息,请参阅其他浏览器设置部分。

移动设备支持

您可以在移动设备上使用 VS Code for the Web,但较小的屏幕可能存在某些限制。

键盘快捷键

某些键盘快捷键在 Web 版中也可能有所不同。

问题 原因
⇧⌘P (Windows, Linux Ctrl+Shift+P) 在 Firefox 中无法启动命令面板。 ⇧⌘P (Windows, Linux Ctrl+Shift+P) 在 Firefox 中已被保留。
作为一种解决方法,可以使用 F1 来启动命令面板。
⌘N (Windows, Linux Ctrl+N) 用于新建文件在 Web 版中不起作用。 ⌘N (Windows, Linux Ctrl+N) 会打开一个新窗口。
作为一种解决方法,您可以使用 Ctrl+Alt+N (macOS 上是 Cmd+Alt+N)。
⌘W (Windows Ctrl+F4, Linux Ctrl+W) 用于关闭编辑器的快捷键在 Web 版中不起作用。 ⌘W (Windows Ctrl+F4, Linux Ctrl+W) 会关闭浏览器中的当前选项卡。
作为一种解决方法,您可以使用 Ctrl+Shift+Alt+N (macOS 上是 Cmd+Shift+Alt+N)。
⇧⌘B (Windows, Linux Ctrl+Shift+B) 在浏览器中不会切换收藏夹栏。 VS Code for the Web 会覆盖此行为,并将其重定向到命令面板中的“构建”菜单。
Alt+LeftAlt+Right 应该在编辑器内导航,但可能会错误地触发标签历史记录导航。 如果焦点不在编辑器内,这些快捷键会触发标签历史记录导航。

其他浏览器设置

在使用 VS Code for the Web 时,您可以采取其他浏览器配置步骤来改进您的体验。

打开新选项卡和窗口

在某些情况下,您可能需要在 VS Code for the Web 中工作时打开新选项卡或窗口。VS Code 在读取剪贴板时可能会请求您允许访问剪贴板。根据您的浏览器,您可以通过其他方式授予剪贴板访问权限或允许弹出窗口。

  • Chrome、Edge、Firefox:在浏览器的设置中搜索“网站权限”,或在地址栏右侧查找以下选项

Allow clipboard access in the browser

  • Safari:在 Safari 浏览器中,转到偏好设置... > 网站 > 弹出窗口 > 您正在访问的域(例如,vscode.dev),然后从下拉菜单中选择允许
© . This site is unofficial and not affiliated with Microsoft.