🚀 在 VS Code 中

Visual Studio Code 常见问题解答

我们的文档在特定主题中包含常见问题部分。我们在此处收集了不属于其他主题的项目。

如果您在此处没有看到您问题的答案,请查看我们之前在 GitHub 上报告的问题和我们的发行说明

Visual Studio Code 和 Visual Studio IDE 之间有什么区别?

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

支持哪些操作系统?

VS Code 在 macOS、Linux 和 Windows 上运行。有关支持的版本,请参阅要求文档。您可以在安装概述中找到更多特定于平台的信息。

VS Code 是免费的吗?

是的,VS Code 可免费用于私人或商业用途。有关详细信息,请参阅产品许可证

如何禁用遥测报告

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 自动更新?

默认情况下,当我们发布新更新时,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

许可

位置

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

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

要了解为什么 Visual Studio Code 产品具有与开源 vscode GitHub 存储库 不同的许可证,请参阅 issue #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 CodeMicrosoft 许可的 “Code - OSS” 发行版,其中包含 Microsoft 专有资产(例如图标)和功能(Visual Studio Marketplace 集成、启用远程开发的一小部分方面)。虽然这些添加项仅占整个发行版代码库的很小一部分,但更准确地说,Visual Studio Code 是“基于”开源构建的,而不是“是”开源的,因为存在这些差异。有关每个发行版包含的内容的更多信息,请参见Visual Studio Code 和“Code - OSS”之间的差异文章。

如何查找扩展的许可证?

大多数扩展在其 Marketplace 页面或概述部分(当您在“扩展”视图中选择扩展时)链接到其许可证。

例如

Extensions view details license link

如果您找不到指向许可证的链接,您可以在扩展的存储库(如果是公开的)中找到许可证,或者您可以通过 Marketplace 的问答部分联系扩展作者。

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

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

在 Microsoft,我们尽可能开源我们的扩展。但是,对现有专有源代码或库的依赖、跨越到 Microsoft 许可的工具或服务(例如 Visual Studio)的源代码以及整个 Microsoft 的商业模式差异将导致某些扩展使用专有许可证。您可以在Microsoft 扩展许可证文章中找到 Microsoft 贡献的 Visual Studio Code 扩展及其许可证的列表。

如何查找版本?

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

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

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

VS Code 版本是列出的第一个 版本 号,其版本格式为“major.minor.release”,例如“1.27.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 Universal 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 芯片 https://update.code.visualstudio.com/{version}/darwin-arm64/stable
macOS Apple 芯片 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”构建每晚更新,因此您将获得前一天的最新错误修复和功能更新。

要安装“Insiders”构建,请转到“Insiders”下载页面

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

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

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

什么是 VS Code“工作区”?

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

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

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

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

报告 VS Code 扩展的问题

对于错误、功能请求或联系扩展作者,您应该使用 Visual Studio Code Marketplace 中提供的链接,或使用命令面板中的帮助: 报告问题。但是,如果存在扩展程序不遵守我们的行为准则的问题,例如它包含亵渎性语言、色情内容或对用户构成风险,那么我们有一个电子邮件别名来报告该问题。收到邮件后,我们的 Marketplace 团队将研究适当的行动方案,包括取消发布扩展。

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

VS Code 会执行后台检查以检测安装是否已在磁盘上更改,如果是,您将在标题栏中看到文本[不受支持]。这样做是因为某些扩展程序直接修改(修补)VS Code 产品,这种方式是半永久性的(直到下次更新),这可能会导致难以重现的问题。我们不是要阻止 VS Code 修补,而是想提高人们的意识,即修补 VS Code 意味着您正在运行不受支持的版本。重新安装 VS Code 将替换修改后的文件并消除警告。

如果 VS Code 文件被防病毒软件错误地隔离或删除,您也可能会看到[不受支持]消息(有关示例,请参阅问题 #94858)。检查您的防病毒软件设置并重新安装 VS Code 以修复丢失的文件。

解析 shell 环境失败

本节仅适用于 macOS 和 Linux 环境。

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

但是,当从您平台的用户界面启动时(例如,macOS dock 中的 VS Code 图标),您通常不在 shell 的上下文中运行,并且您无法访问这些环境设置。这意味着,根据您启动 VS Code 的方式,您可能没有相同的环境。

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

Shell environment startup error

如果错误消息指示解析您的 shell 环境花费的时间过长,则以下步骤可以帮助您调查可能导致缓慢的原因。您还可以通过配置 application.shellEnvironmentResolutionTimeout 设置来增加超时时间。但请记住,增加此值意味着您将需要等待更长时间才能使用 VS Code 中的某些功能,例如扩展。

如果您看到其他错误,请创建 issue 以获得帮助。

调查 shell 初始化缓慢

下面概述的过程可能有助于您确定 shell 初始化的哪些部分花费的时间最多

  • 打开 shell 的启动文件(例如,在 VS Code 中,在快速打开中键入 ~/.bashrc~/.zshrc (⌘P (Windows、Linux Ctrl+P)))。
  • 选择性地注释掉可能长时间运行的操作(例如,如果您发现 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 显示空白(空)主窗口,您可以尝试在启动 VS Code 时禁用 GPU 加速,方法是添加 Electron --disable-gpu 命令行开关。

code --disable-gpu

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

rm -r ~/.config/Code/GPUCache

VS Code 在打开文件夹后立即无响应

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

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

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

Microsoft 已结束对 Windows 7Windows 8 和 Windows 8.1 的支持,并且不再提供安全更新。从 1.71(2022 年 8 月)开始的 VS Code 桌面版本不再在 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 吗?

从 1.96 版本(2024 年 11 月)开始,VS Code 桌面版将不再支持 macOS Catalina(版本 10.15 及更旧版本)。从 VS Code 1.98 版本(2025 年 2 月)开始,我们将停止在 macOS Catalina(版本 10.15 及更旧版本)上更新 VS Code。您需要升级到较新的 macOS 版本才能使用更高版本的 VS Code。

VS Code 将不再为 macOS Catalina(版本 10.15 及更旧版本)提供产品更新或安全修复,VS Code 1.97 版本将是 macOS Catalina(10.15 及更旧版本)的最后一个可用版本。您可以在 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 版本。根据您的平台,请务必禁用更新以保持在该版本。一个好的建议是使用 便携模式 设置安装。

技术支持

您可以在 Stack Overflow 上提问和搜索答案,并在我们的 GitHub 存储库 中直接提交问题和功能请求。

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