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 为您提供了安装微软和第三方扩展的选项。这些扩展可能会收集它们自己的使用数据,并且不受 telemetry.telemetryLevel 设置的控制。请查阅特定扩展的文档以了解其遥测报告。

如何禁用实验

VS Code 使用实验来尝试新功能或逐步推出它们。我们的实验框架会调用一个由微软拥有的服务,因此在禁用遥测时会被禁用。然而,如果您希望无论遥测偏好如何都禁用实验,您可以将用户设置中的workbench.enableExperiments设置为false

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

如何禁用崩溃报告

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

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

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

GDPR与VS Code

现在《通用数据保护条例》(GDPR)已经生效,我们想借此机会重申,我们非常重视隐私。这不仅适用于微软公司,也特别适用于VS Code团队。

为了支持GDPR:

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

您可以在遥测文档中了解更多关于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.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 仓库的一个发行版,带有微软特定的定制(包括源代码),并在传统的 微软产品许可证 下发布。

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

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

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

如何找到扩展的许可证?

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

例如:

扩展视图详情许可证链接

如果您没有找到许可证的链接,如果扩展的存储库是公开的,您可能会在其中找到许可证,或者您可以通过市场的问答部分联系扩展作者。

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

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

在微软,我们尽可能开源我们的扩展。然而,依赖现有的专有源代码或库、涉及微软许可工具或服务(例如Visual Studio)的源代码,以及微软整体业务模式的差异,将导致一些扩展使用专有许可证。您可以在微软扩展许可证文章中找到微软贡献的Visual Studio Code扩展及其许可证的列表。

如何找到版本?

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

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

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

VS Code 版本是列出的第一个版本号,其版本格式为 'major.minor.release',例如 '1.27.0'。

以前的发布版本

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

发布说明中的下载链接

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

Download type URL
Windows x64 System installer https://update.code.visualstudio.com/{version}/win32-x64/stable
Windows x64 User installer 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 System installer https://update.code.visualstudio.com/{version}/win32-arm64/stable
Windows Arm64 User installer 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 chip https://update.code.visualstudio.com/{version}/darwin/stable
macOS Intel chip 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位版本

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

Download type URL
Windows x86 System installer https://update.code.visualstudio.com/{version}/win32/stable
Windows x86 User installer 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中提供的链接,或使用命令面板中的帮助:报告问题。然而,如果存在扩展不遵守我们的行为准则的问题,例如包含亵渎、色情内容或对用户构成风险,那么我们有一个电子邮件别名来报告问题。一旦收到邮件,我们的市场团队将调查适当的行动方案,包括取消发布扩展。

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

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

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

解决shell环境失败

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

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

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

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

Shell环境启动错误

如果错误信息表明解析您的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 外壳在某些 GPU(图形处理单元)硬件加速方面存在问题。如果 VS Code 显示一个空白(空)的主窗口,你可以尝试在启动 VS Code 时通过添加 Electron --disable-gpu 命令行开关来禁用 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吗?

微软已结束支持,并不再为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 协助支持团队提交工单。