现已发布!阅读关于 11 月新增功能和修复的内容。

Visual Studio Code FAQ

我们的文档包含一个 常见问题 部分,以满足特定主题的需求。我们在此处收集了不适合其他主题的内容。

如果在本文档中找不到您问题的答案,请查看我们在 GitHub 上之前报告过的问题 以及我们的 发行说明

在 VS Code 中开源 AI

我们已根据 MIT 许可开源了 GitHub Copilot Chat 扩展,并正在将相关组件整合到 VS Code 核心中。请阅读我们的 公告博客文章首个里程碑更新 中的详细信息。

这会影响我当前的 GitHub Copilot 订阅吗?GitHub Copilot 现在免费了吗?

此更改不会影响当前的 GitHub Copilot 订阅。要使用 GitHub Copilot,您仍需要一个 GitHub 帐户和 GitHub Copilot 订阅的访问权限。

未通过组织或企业访问 Copilot 的个人开发者可以访问 GitHub Copilot 免费套餐可能存在限制)。如果该套餐不满足您的需求,您可以注册 Copilot 付费套餐或 自带语言模型密钥

GitHub Copilot 后端服务也会开源吗?

GitHub Copilot 服务不受影响,仍将保持闭源。

时间表是什么?我何时可以为 VS Code 中的 AI 体验做出贡献?

我们通过开源 GitHub Copilot Chat 扩展 完成了此过程的第一步。源代码可在 microsoft/vscode-copilot-chat 存储库中找到。

在接下来的几个月中,我们将把 Copilot Chat 扩展的相关组件整合到 VS Code 核心存储库中。请查看我们的 计划项目 以获取有关时间表的详细信息和更新。

我们的目标是使为 AI 功能做出贡献的体验像为 VS Code 的任何部分做出贡献一样简单。作为其中的一部分,我们希望在贡献过程中能够使用 Copilot 后端服务进行调试和测试。有关如何贡献的详细信息,请查看 CONTRIBUTING.md 文件。

为什么要将 GitHub Copilot 集成到 VS Code 核心存储库中?

自 GitHub Copilot 最初发布以来,很明显,AI 驱动的工具是编写代码的核心。从使用遥测数据来看,我们可以看到实际上使用 VS Code 中 AI 功能的用户比使用调试或测试等其他功能的用户更多。

将 AI 功能作为 VS Code 的核心部分,是重申我们对在开放环境中工作会带来更好产品的信念,并促进了扩展生态系统的多样性。

我是一名扩展作者。我将受到何种影响?

我们维护稳定 API 的向后兼容性。您的扩展不应受到任何影响。我们根据扩展作者的反馈,不断改进和扩展 VS Code 扩展 API。如果您需要其他 API 来使您的扩展取得成功,我们很乐意听取您的意见——请在 microsoft/vscode 存储库 中提交 API 请求。

我已经在使用 VS Code 中的其他 AI 编码扩展(Cline、Roo Code 等)。这会对我产生什么影响?

您可以继续在 VS Code 中使用这些扩展!我们很高兴社区正在构建扩展以改善 VS Code 中的开发者体验。为了改进其他 AI 扩展的体验,我们不断添加 API,例如用于直接从扩展调用语言模型的 语言模型 API,用于与语言模型工具交互和与内置或您自己的代理集成的 工具 API,或者用于运行和与终端命令交互的 Shell Execution API(对于代理式体验特别有用)。未来,我们计划添加更多 API 来满足扩展作者的需求。

这会改变我们收集数据的方式吗?

不,什么都不会改变。通过开源 GitHub Copilot Chat,我们使其数据收集方式完全透明,并允许您通过源代码进行验证。了解有关 VS Code 中 遥测GitHub Copilot 信任中心 的更多信息。

VS Code 团队在未来的版本中将如何平衡 AI 功能和非 AI 功能的优先级?

我们认为 AI 驱动的工具是编写代码的核心。我们投资于 AI 功能和改进核心编辑器体验。这也反映在团队 50/50 的工作分配上,一半用于 AI,一半用于其他功能。许多非 AI 功能可能并不总是像 AI 功能那样对用户可见,例如性能、安全性、可访问性、Electron 更新等。

将 AI 功能集成到 VS Code 核心存储库中会影响 VS Code 的(启动)性能吗?

性能是我们的核心重点,我们在集成 AI 功能时致力于保持 VS Code 的性能。此外,如果您未在 VS Code 中启用 AI 功能,则不会运行任何可能影响性能的相关后台进程。

我能禁用 VS Code 中的 AI 功能吗?

您可以使用 chat.disableAIFeatures 设置在 VS Code 中禁用内置的 AI 功能,这与您在 VS Code 中配置其他功能的方式类似。这将禁用并隐藏 VS Code 中的聊天或内联建议等功能,并禁用 Copilot 扩展。您可以在工作区或用户级别配置此设置。

或者,从标题栏的聊天菜单中使用了解如何隐藏 AI 功能操作来访问此设置。

注意

如果您之前已禁用内置 AI 功能,在更新到新版本的 VS Code 时,您的选择将得到尊重。

如果我在 VS Code 中禁用了 AI 功能,我的数据还会发送到 Microsoft 吗?

否,如果您在 VS Code 中禁用了 AI 功能,或者您没有从 VS Code 登录到您的 Copilot 订阅,则您的数据不会发送到 Copilot 后端服务。了解有关 VS Code 中 遥测GitHub Copilot 信任中心 的更多信息。

VS Code 在 Copilot 扩展中使用的模型是开源的 (OSS) 吗?

否。GitHub Copilot 使用的模型单独获得许可,并且此许可不会更改。事实上,其中大部分模型来自第三方,例如 OpenAI、Anthropic 和 Google……

Visual Studio Code 和 Visual Studio IDE 有何区别?

Visual Studio Code 是一个精简的代码编辑器,支持开发操作,如调试、任务运行和版本控制。它旨在提供开发人员进行快速代码-构建-调试周期所需的工具,而将更复杂的工作流留给功能更全面的 IDE,例如 Visual Studio IDE

VS Code 是免费的吗?

是的,VS Code 免费供个人或商业使用。请参阅 产品许可证 了解详情。

如果你还没有 Copilot 订阅,可以通过注册 Copilot 免费计划 免费使用 Copilot,并获得每月限量的补全和聊天交互次数。

平台支持

支持哪些操作系统?

VS Code 在 macOS、Linux 和 Windows 上运行。请参阅 要求文档 了解支持的版本。您可以在 设置概述 中找到更多特定平台的详细信息。

我可以在旧版 Windows 上运行 VS Code 吗?

Microsoft 已结束对 Windows 7Windows 8 和 Windows 8.1 的支持,不再提供安全更新。VS Code 桌面版本从 1.71(2022 年 8 月)开始不再支持 Windows 7,从 1.80(2023 年 6 月)开始不再支持 Windows 8 和 8.1。您需要升级到更新的 Windows 版本才能使用 VS Code 的新版本。

VS Code 将不再为旧版 Windows 提供产品更新或安全修复。VS Code 版本 1.70.3 是 Windows 7 用户可用的最后一个版本,版本 1.79 将是 Windows 8 和 8.1 用户可用的最后一个版本。您可以在 support.microsoft.com 上了解有关升级 Windows 版本的更多信息。

此外,Windows 10 版本 2004 已停止对 32 位 OEM 的支持。支持 Windows 32 位的最后一个稳定 VS Code 版本是 1.83(2023 年 9 月)。您需要更新到 64 位版本。

我可以在旧版 macOS 上运行 VS Code 吗?

VS Code 桌面版本从 1.105(2025 年 9 月)开始将弃用对 macOS Big Sur(版本 11.0 及更早版本)的支持。从 VS Code 1.107(2025 年 11 月)开始,我们将停止在 macOS Big Sur(版本 11.0 及更早版本)上更新 VS Code。您需要升级到更新的 macOS 版本才能使用 VS Code 的新版本。

VS Code 将不再为 macOS Big Sur(版本 11.0 及更早版本)提供产品更新或安全修复,VS Code 版本 1.106 将是 macOS Big Sur(11.0 及更早版本)可用的最后一个版本。您可以在 support.apple.com 上了解有关升级 macOS 版本的更多信息。

我可以在旧版 Linux 发行版上运行 VS Code 吗?

从 VS Code 版本 1.86.1(2024 年 1 月)开始,VS Code 桌面仅与基于 glibc 2.28 或更高版本的 Linux 发行版兼容,例如 Debian 10、RHEL 8 或 Ubuntu 20.04。

如果您无法升级您的 Linux 发行版,推荐的替代方案是使用我们的 Web 客户端。如果您想使用桌面版本,可以从 此处 下载 VS Code 版本 1.85。根据您的平台,请确保禁用更新以保留在该版本上。一个好的建议是使用 便携模式 进行安装设置。

我可以运行 VS Code 的便携版本吗?

是的,VS Code 具有 便携模式,可让您将设置和数据保留在与安装位置相同的位置,例如 USB 驱动器上。

遥测和崩溃报告

如何禁用遥测报告

VS Code 收集使用数据并将其发送到 Microsoft,以帮助改进我们的产品和服务。请阅读我们的 隐私声明遥测文档 以了解更多信息。

如果您不想将使用数据发送到 Microsoft,可以将 telemetry.telemetryLevel 用户 设置off

文件 > 首选项 > 设置 中,搜索 telemetry,并将遥测:遥测级别设置设置为 off。这将在未来阻止所有来自 VS Code 的遥测事件。

重要提示:VS Code 提供安装 Microsoft 和第三方扩展的选项。这些扩展可能正在收集自己的使用数据,并且不受 telemetry.telemetryLevel 设置的控制。请查阅特定扩展的文档以了解其遥测报告。

如何禁用实验

VS Code 使用实验来尝试新功能或逐步推出它们。我们的实验框架会调用 Microsoft 拥有的服务,因此在禁用遥测时会被禁用。但是,如果您想无论遥测偏好如何都禁用实验,可以将 workbench.enableExperiments 用户 设置false

文件 > 首选项 > 设置 中,搜索 experiments,并取消选中工作台:启用实验设置。这将阻止 VS Code 调用该服务并退出任何正在进行的实验。

如何禁用崩溃报告

VS Code 收集有关发生的任何崩溃的数据,并将其发送到 Microsoft,以帮助改进我们的产品和服务。请阅读我们的 隐私声明遥测文档 以了解更多信息。

如果您不想将崩溃数据发送到 Microsoft,可以将 telemetry.telemetryLevel 用户 设置 更改为 off

文件 > 首选项 > 设置 中,搜索 telemetry,并将遥测:遥测级别设置设置为 off。这将在未来阻止包括崩溃报告在内的所有来自 VS Code 的遥测事件。您需要重新启动 VS Code 以使设置更改生效。

GDPR 和 VS Code

现在通用数据保护条例 (GDPR) 已生效,我们希望借此机会重申,我们非常重视隐私。这既包括 Microsoft 公司,也包括 VS Code 团队内部。

支持 GDPR

  • VS Code 产品会通知所有用户,他们可以选择退出遥测收集。
  • 团队会积极审查和分类所有发送的遥测数据(记录在 我们的 OSS 代码库 中)。
  • 对于收集的任何数据,例如崩溃转储,都设有有效的保留策略。

您可以在 遥测文档 中详细了解 VS Code 的 GDPR 合规性。

VS Code 使用哪些在线服务?

除了崩溃报告和遥测之外,VS Code 还使用在线服务用于各种其他目的,例如下载产品更新、查找、安装和更新扩展,或在设置编辑器中提供自然语言搜索。您可以在 管理在线服务 中了解更多信息。

您可以选择打开/关闭使用这些服务的相关功能。在 文件 > 首选项 > 设置 中,输入标签 @tag:usesOnlineServices。这将显示所有控制在线服务使用的设置,您可以单独打开或关闭它们。

许可

位置

您可以在 VS Code 安装位置的 resources\app 文件夹下找到 VS Code 许可证、第三方声明和 Chromium 开源致谢列表。VS Code 的 ThirdPartyNotices.txt、Chromium 的 Credits_*.html 和 VS Code 的英文版 LICENSE.txt 均位于 resources\app 下。按语言 ID 本地化的 LICENSE.txt 版本位于 resources\app\licenses 下。

为什么 Visual Studio Code 的许可证与 vscode GitHub 存储库不同?

要了解为什么 Visual Studio Code(产品)的许可证与开源 vscode GitHub 存储库 不同,请参阅 问题 #60 以获得详细解释。

vscode 存储库和 Microsoft Visual Studio Code 发行版之间有什么区别?

github.com/microsoft/vscode 存储库(Code - OSS)是我们开发 Visual Studio Code 产品的地点。我们不仅在那里编写代码和处理问题,还发布我们的路线图以及每月迭代和最终计划。源代码根据标准的 MIT 许可证 向所有人公开。

Visual Studio Code 是 Code - OSS 存储库的发行版,包含 Microsoft 特定定制(包括源代码),根据传统的 Microsoft 产品许可证 发布。

有关更多详细信息,请参阅 Visual Studio Code 和 'Code - OSS' 差异 文章。

“基于开源”是什么意思?

Microsoft Visual Studio Code 是一个 Microsoft 许可'Code - OSS' 发行版,它包含 Microsoft 的专有资产(例如图标)和功能(Visual Studio Marketplace 集成、远程开发启用的一些小方面)。虽然这些添加内容仅占整个发行版代码库的很小一部分,但由于这些差异,更准确的说法是 Visual Studio Code 是“基于”开源的,而不是“就是”开源的。有关每个发行版包含的内容的更多信息,请参阅 Visual Studio Code 和 'Code - OSS' 差异 文章。

扩展

所有 VS Code 扩展都是开源的吗?

扩展作者可以自由选择适合其业务需求的许可证。虽然许多扩展作者选择以开源许可证发布其源代码,但一些扩展(如 Wallaby.jsGoogle Cloud Code 以及 VS Code 远程开发扩展)使用专有许可证。

在 Microsoft,我们拥有开源和闭源扩展的组合。依赖现有专有源代码或库、源代码涉及到 Microsoft 许可的工具或服务(例如,C# DevKit 扩展使用 Visual Studio 订阅许可模型,请参阅 许可),以及 Microsoft 整体的业务模式差异,都可能导致扩展选择专有许可证。您可以在 Microsoft 扩展许可 文章中找到 Microsoft 贡献的 Visual Studio Code 扩展列表及其源代码许可证。

如何查找扩展的许可证?

大多数扩展在其 Marketplace 页面(“阅读我”文档)的“资源”部分右侧列中会有一个指向其许可证的链接。如果您找不到链接,可以在扩展的存储库(如果公开)中找到许可证,或者通过 Marketplace 的问答部分联系扩展作者。

我可以在 VS Code 之外使用 Microsoft 扩展吗?

否。虽然来自 Microsoft 的扩展的源代码可能是开源的,但我们不会许可从 Visual Studio Marketplace 发布和获取的 Microsoft 或其附属公司的扩展在 Visual Studio 产品系列之外使用:Microsoft Visual Studio、Visual Studio Code、GitHub Codespaces、Azure DevOps、Azure DevOps Server 以及我们及 Microsoft 附属公司(如 GitHub, Inc.)提供的后续产品和服务。我们仅在 Visual Studio 产品系列中构建、测试、部署和支持这些扩展和服务,以确保它们符合我们的安全和质量标准。对于其他地方的扩展,包括在 Code - OSS Repository 的分叉上构建的扩展,我们不这样做。有关更多信息,请参阅 Visual Studio Marketplace 服务条款 中的条件:Marketplace/NuGet 产品的使用权

我无法从产品 << 填空 >> 访问 Visual Studio Marketplace,为什么?

我们提供的 Visual Studio Marketplace 仅供 Visual Studio 产品系列使用:Microsoft Visual Studio、Visual Studio Code、GitHub Codespaces、Azure DevOps、Azure DevOps Server 以及我们及 Microsoft 附属公司(如 GitHub, Inc.)提供的后续产品和服务。因此,不允许包括在 Code - OSS Repository 的分叉上构建的产品在内的替代产品访问 Visual Studio Marketplace。我们这样做是为了保护生态系统的安全和质量,包括以下措施

  • 扩展在产品的上下文和权限下运行,并且可能包含可执行代码。 Marketplace 会对每个扩展进行安全检查,以防止其执行恶意活动。当您将扩展安装到 Visual Studio 系列的产品中时,您知道它已通过检查,可以在该上下文中运行。

  • 当报告并确认了恶意扩展,或在扩展依赖项中发现漏洞时,该扩展将从 Marketplace 中移除,添加到阻止列表中,并被 VS Code 自动卸载。

  • Microsoft 在运行、维护和保护这项全球在线服务方面投入了大量资源。Visual Studio 系列的产品设计用于安全可靠地访问 Marketplace,以便在您需要时 Marketplace 可用。

  • 扩展可能与产品深度集成。Marketplace 确保我们保持 API 兼容性,并且扩展正确使用产品的扩展 API。这有助于确保您安装的扩展在版本更新中也能正常工作。

有关此主题的更多详细信息,请参阅 #31168

为什么我应该从 Visual Studio Marketplace 安装扩展?

与从其他来源安装扩展相比,从 Visual Studio Marketplace 安装扩展有很多优点。

  • Visual Studio Marketplace 采用 多项机制 来保护您免受恶意扩展的侵害,包括恶意软件扫描、动态检测、发布者验证等。当您从不同来源安装扩展时,无法保证该扩展在您的上下文中运行是安全的。

  • 当报告并确认了恶意扩展,或在扩展依赖项中发现漏洞时,该扩展将从 Marketplace 中移除,添加到阻止列表中,并被 VS Code 自动卸载。

  • Marketplace 使您能够轻松查找、安装和更新扩展。例如,当有安全修复的更新可用时,VS Code 会自动安装更新的版本。

  • 扩展可能与产品深度集成。Marketplace 确保我们保持 API 兼容性,并且扩展正确使用产品的扩展 API。这有助于确保您安装的扩展在版本更新中也能正常工作。

报告 VS Code 扩展的问题

对于 bug、功能请求或联系扩展作者,您应使用 Visual Studio Code Marketplace 上提供的链接,或使用命令面板中的帮助:报告问题。但是,如果出现扩展不遵守我们的行为准则的情况,例如包含脏话、色情内容或对用户构成风险,则我们提供 一个电子邮件地址来报告问题。收到邮件后,我们的 Marketplace 团队将采取适当的行动,包括但不限于撤销扩展的发布。

VS Code 版本

如何查找我当前的 VS Code 版本?

您可以在“关于”对话框中找到 VS Code 版本信息。

在 macOS 上,转到代码 > 关于 Visual Studio Code

在 Windows 和 Linux 上,转到帮助 > 关于

VS Code 版本是列出的第一个版本号,其版本格式为“主版本.次版本.发布版本”,例如“1.100.0”。

先前发行版本

您可以在版本发行说明的顶部找到一些发行下载链接。

Download links in release notes

如果您需要此处未列出的安装类型,可以通过以下 URL 手动下载:

下载类型 URL
Windows x64 系统安装程序 https://update.code.visualstudio.com/{version}/win32-x64/stable
Windows x64 用户安装程序 https://update.code.visualstudio.com/{version}/win32-x64-user/stable
Windows x64 zip https://update.code.visualstudio.com/{version}/win32-x64-archive/stable
Windows x64 CLI https://update.code.visualstudio.com/{version}/cli-win32-x64/stable
Windows Arm64 系统安装程序 https://update.code.visualstudio.com/{version}/win32-arm64/stable
Windows Arm64 用户安装程序 https://update.code.visualstudio.com/{version}/win32-arm64-user/stable
Windows Arm64 zip https://update.code.visualstudio.com/{version}/win32-arm64-archive/stable
Windows Arm64 CLI https://update.code.visualstudio.com/{version}/cli-win32-arm64/stable
macOS 通用版 https://update.code.visualstudio.com/{version}/darwin-universal/stable
macOS Intel 芯片 https://update.code.visualstudio.com/{version}/darwin/stable
macOS Intel 芯片 CLI https://update.code.visualstudio.com/{version}/cli-darwin-x64/stable
macOS Apple silicon https://update.code.visualstudio.com/{version}/darwin-arm64/stable
macOS Apple silicon CLI https://update.code.visualstudio.com/{version}/cli-darwin-arm64/stable
Linux x64 https://update.code.visualstudio.com/{version}/linux-x64/stable
Linux x64 debian https://update.code.visualstudio.com/{version}/linux-deb-x64/stable
Linux x64 rpm https://update.code.visualstudio.com/{version}/linux-rpm-x64/stable
Linux x64 snap https://update.code.visualstudio.com/{version}/linux-snap-x64/stable
Linux x64 CLI https://update.code.visualstudio.com/{version}/cli-linux-x64/stable
Linux Arm32 https://update.code.visualstudio.com/{version}/linux-armhf/stable
Linux Arm32 debian https://update.code.visualstudio.com/{version}/linux-deb-armhf/stable
Linux Arm32 rpm https://update.code.visualstudio.com/{version}/linux-rpm-armhf/stable
Linux Arm32 CLI https://update.code.visualstudio.com/{version}/cli-linux-armhf/stable
Linux Arm64 https://update.code.visualstudio.com/{version}/linux-arm64/stable
Linux Arm64 debian https://update.code.visualstudio.com/{version}/linux-deb-arm64/stable
Linux Arm64 rpm https://update.code.visualstudio.com/{version}/linux-rpm-arm64/stable
Linux Arm64 CLI https://update.code.visualstudio.com/{version}/cli-linux-arm64/stable

请在 {version} 占位符中替换您想要的具体版本。例如,要下载 1.83.1 版本的 Linux Arm64 debian 版本,您可以使用

https://update.code.visualstudio.com/1.83.1/linux-deb-arm64/stable

如果您想始终下载最新的 VS Code 稳定版本,可以使用版本字符串 latest

Windows 32 位版本

1.83 版本之后,Windows x86 32 位版本不再积极支持,并可能存在安全风险。

下载类型 URL
Windows x86 系统安装程序 https://update.code.visualstudio.com/{version}/win32/stable
Windows x86 用户安装程序 https://update.code.visualstudio.com/{version}/win32-user/stable
Windows x86 zip https://update.code.visualstudio.com/{version}/win32-archive/stable
Windows x86 CLI https://update.code.visualstudio.com/{version}/cli-win32-ia32/stable

预发行版本

想提前体验新的 VS Code 功能?您可以安装“Insiders”版本来尝试 VS Code 的预发行版本。“Insiders”版本会与您的稳定版 VS Code 安装并行安装,并拥有独立的设置、配置和扩展。“Insiders”版本每晚更新一次,因此您将获得前一天最新的 bug 修复和功能更新。

要安装“Insiders”版本,请访问 Insiders 下载页面

如何选择退出 VS Code 自动更新?

默认情况下,VS Code 会为 macOS 和 Windows 用户在新版本发布时自动更新。如果您不想接收自动更新,可以将更新:模式设置从 default 改为 none

要修改更新模式,请转到 文件 > 首选项 > 设置,搜索 update mode 并将设置更改为 none

如果您使用 JSON 编辑器进行设置,请添加以下行

    "update.mode": "none"

您可以卸载当前版本,然后安装特定 发行说明 页面顶部的下载内容来安装 VS Code 的先前版本。

注意: 在 Linux 上:如果 VS Code 存储库已正确安装,则您的系统包管理器应以与系统中其他包相同的方式处理自动更新。请参阅 在 Linux 上安装 VS Code

选择退出扩展更新

默认情况下,VS Code 也会在有新版本可用时自动更新扩展。如果您不希望扩展自动更新,可以清除设置编辑器中的扩展:自动更新复选框(⌘, (Windows、Linux Ctrl+,))。

如果使用 JSON 编辑器修改设置,请添加以下行

    "extensions.autoUpdate": false

我在哪里可以找到 Visual Studio Code 图标?

是否有使用图标和名称的指南?

您可以在 图标和名称使用指南 下载官方 Visual Studio Code 图标并阅读使用指南。

什么是 VS Code “工作区”?

VS Code “工作区”通常就是您的项目根文件夹。VS Code 使用“工作区”概念来作用于项目配置,例如项目特定的 设置 以及用于 调试任务 的配置文件。工作区文件存储在项目根目录的 .vscode 文件夹中。您还可以通过一项名为 多根工作区 的功能在 VS Code 工作区中拥有多个根文件夹。

您可以在 VS Code “工作区”是什么? 文章中了解更多信息。

问题与故障

安装似乎已损坏 [不支持]

VS Code 会在后台检查安装是否在磁盘上被修改过,如果被修改过,你将在标题栏看到 [不受支持] 的文本。这是因为有些扩展会直接修改 (patch) VS Code 的产品,这种修改是半永久性的(直到下一次更新),并且可能导致难以复现的问题。我们并非试图阻止 VS Code 的修改,而是想提高用户意识,修改 VS Code 意味着你正在运行一个不受支持的版本。 重新安装 VS Code 将会替换被修改的文件并消除此警告。

如果 VS Code 文件被杀毒软件误隔离或删除,你也可能会看到 [不受支持] 的消息(例如,请参见 issue #94858)。请检查你的杀毒软件设置并重新安装 VS Code 来修复丢失的文件。

解析 Shell 环境失败

当 VS Code 从终端启动时(例如,通过 code .),它可以访问你在 .bashrc.zshrc 文件中定义的设置。这意味着任务或调试目标等功能也可以访问这些设置。

然而,当从平台的 UI 启动时(例如,macOS Dock 中的 VS Code 图标),你通常不是在 Shell 上下文环境中运行,也无法访问那些环境设置。这意味着,根据你启动 VS Code 的方式,你可能无法获得相同的环境。

为了解决这个问题,当通过 UI 手势启动时,VS Code 会启动一个小进程来运行(或“解析”)你在 .bashrc, .zshrc 或 PowerShell 配置文件中定义的 Shell 环境。如果在可配置的超时时间(通过 application.shellEnvironmentResolutionTimeout 设置,默认为 10 秒)后,Shell 环境仍未解析完成,或者由于任何其他原因解析失败,VS Code 将会中止“解析”进程,在没有你的 Shell 环境设置的情况下启动,你将看到类似以下的错误:

Shell environment startup error

如果错误消息表明解析你的 Shell 环境花费了太长时间,下面的步骤 可以帮助你调查是什么原因导致了缓慢。你也可以通过配置 application.shellEnvironmentResolutionTimeout 设置来增加超时时间。但请记住,增加此值意味着你将需要更长的时间才能使用 VS Code 中的某些功能,例如扩展。

如果你看到其他错误,请创建一个 issue 来获得帮助。

调查 Shell 初始化缓慢

下面概述的流程可以帮助你识别 Shell 初始化中哪些部分花费的时间最多。

  • 打开你的 Shell 启动文件(例如,在 VS Code 中,通过在快速打开(⌘P (Windows, Linux Ctrl+P))中键入 ~/.bashrc~/.zshrc)。
  • 选择性地注释掉可能耗时的操作(例如,如果你发现 nvm)。
  • 保存并完全重启 VS Code。
  • 继续注释掉操作,直到错误消失。

注意:虽然 nvm 是一个强大且有用的 Node.js 包管理器,但如果它在 Shell 初始化期间运行,可能会导致 Shell 启动时间变慢。你可以考虑使用包管理器替代方案,例如 asdf,或在互联网上搜索 nvm 的性能建议。

从终端启动 VS Code

如果修改你的 Shell 环境不切实际,你可以通过直接从完全初始化的终端启动 VS Code 来避免 VS Code 的 Shell 环境解析阶段。

  • 在打开的终端中键入 code 将启动 VS Code,并打开你上次的工作区。
  • 键入 code . 将启动 VS Code,并打开当前文件夹。

VS Code 为空白?

Visual Studio Code 使用的 Electron Shell 在处理某些 GPU(图形处理单元)硬件加速时存在问题。如果 VS Code 显示一个空白(空)的主窗口,你可以尝试通过添加 Electron 命令行开关 --disable-gpu 来禁用 GPU 加速来启动 VS Code。

code --disable-gpu

如果这种情况发生在更新之后,删除 GPUCache 目录可以解决此问题。

rm -r ~/.config/Code/GPUCache

打开文件夹后,VS Code 变得无响应

当你打开一个文件夹时,VS Code 会搜索典型的项目文件,以便提供额外的工具(例如,状态栏中的解决方案选择器来打开一个解决方案)。如果你打开一个包含大量文件的文件夹,搜索可能会花费大量时间和 CPU 资源,在此期间 VS Code 可能响应缓慢。我们计划在未来改进这一点,但目前你可以通过 files.exclude 设置将文件夹排除在资源管理器之外,它们将不会被搜索项目文件。

    "files.exclude": {
        "**/largeFolder": true
    }

技术支持渠道

你可以在 Stack Overflow 上提问并搜索答案,也可以直接在我们的 GitHub 仓库 中报告问题和提交功能请求。

如果你想联系专业的支持工程师,可以向 Microsoft 协助支持团队 提交工单。

© . This site is unofficial and not affiliated with Microsoft.