Visual Studio 代码常见问题解答

我们的文档包含特定主题所需的常见问题部分。我们在这里捕获了不适合其他主题的项目。

如果您在此处没有看到问题的答案,请查看我们之前在 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 代码

现在《通用数据保护条例》(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 安装位置文件夹下找到 VS Code 许可证、第三方声明和Chromium开源信用列表resources\app。VS Code ThirdPartyNotices.txt、ChromiumCredits_*.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 是具有 Microsoft 特定自定义(包括源代码)的存储库的发行版,在传统的Microsoft 产品许可证Code - OSS下发布。

有关更多详细信息,请参阅Visual Studio Code 和“代码 - OSS”差异一文。

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

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

如何找到延期许可证?

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

例如:

扩展查看详细信息许可证链接

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

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

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

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

我如何找到版本?

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

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

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

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

以前的发行版本

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

发行说明中的​​下载链接

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

下载类型 网址
Windows x64 System installer https://update.code.visualstudio.com/{版本}/win32-x64/stable
Windows x64 User installer https://update.code.visualstudio.com/{版本}/win32-x64-user/stable
Windows x64 zip https://update.code.visualstudio.com/{版本}/win32-x64-archive/stable
Windows x64 CLI https://update.code.visualstudio.com/{版本}/cli-win32-x64/stable
Windows Arm64 System installer https://update.code.visualstudio.com/{版本}/win32-arm64/stable
Windows Arm64 User installer https://update.code.visualstudio.com/{版本}/win32-arm64-user/stable
Windows Arm64 zip https://update.code.visualstudio.com/{版本}/win32-arm64-archive/stable
Windows Arm64 CLI https://update.code.visualstudio.com/{版本}/cli-win32-arm64/stable
macOS Universal https://update.code.visualstudio.com/{版本}/darwin-universal/stable
macOS Intel chip https://update.code.visualstudio.com/{版本}/darwin/stable
macOS Intel chip CLI https://update.code.visualstudio.com/{版本}/cli-darwin-x64/stable
macOS Apple silicon https://update.code.visualstudio.com/{版本}/darwin-arm64/stable
macOS Apple silicon CLI https://update.code.visualstudio.com/{版本}/cli-darwin-arm64/stable
Linux x64 https://update.code.visualstudio.com/{版本}/linux-x64/stable
Linux x64 debian https://update.code.visualstudio.com/{版本}/linux-deb-x64/stable
Linux x64 rpm https://update.code.visualstudio.com/{版本}/linux-rpm-x64/stable
Linux x64 snap https://update.code.visualstudio.com/{版本}/linux-snap-x64/stable
Linux x64 CLI https://update.code.visualstudio.com/{版本}/cli-linux-x64/stable
Linux Arm32 https://update.code.visualstudio.com/{版本}/linux-armhf/stable
Linux Arm32 debian https://update.code.visualstudio.com/{版本}/linux-deb-armhf/stable
Linux Arm32 rpm https://update.code.visualstudio.com/{版本}/linux-rpm-armhf/stable
Linux Arm32 CLI https://update.code.visualstudio.com/{版本}/cli-linux-armhf/stable
Linux Arm64 https://update.code.visualstudio.com/{版本}/linux-arm64/stable
Linux Arm64 debian https://update.code.visualstudio.com/{版本}/linux-deb-arm64/stable
Linux Arm64 rpm https://update.code.visualstudio.com/{版本}/linux-rpm-arm64/stable
Linux Arm64 CLI https://update.code.visualstudio.com/{版本}/cli-linux-arm64/stable

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

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

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

Windows 32 位版本

1.83 版之后,Windows x86 32 位版本不再受到积极支持,并且可能会带来安全风险。

下载类型 网址
Windows x86 System installer https://update.code.visualstudio.com/{版本}/win32/stable
Windows x86 User installer https://update.code.visualstudio.com/{版本}/win32-user/stable
Windows x86 zip https://update.code.visualstudio.com/{版本}/win32-archive/stable
Windows x86 CLI https://update.code.visualstudio.com/{版本}/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 会进行后台检查以检测磁盘上的安装是否已更改,如果是,您将在标题栏中看到文本[Unsupported] 。这样做是因为某些扩展以半永久性(直到下一次更新)的方式直接修改(修补)VS Code 产品,这可能会导致难以重现的问题。我们并不是试图阻止 VS Code 修补,但我们希望提高人们的认识,修补 VS Code 意味着您正在运行不受支持的版本。重新安装 VS Code将替换修改的文件并消除警告。

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

解决 shell 环境失败

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

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

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

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

shell环境启动错误

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

如果您看到其他错误,请创建问题以获取帮助。

研究缓慢的 shell 初始化

下面概述的过程可以帮助您确定 shell 初始化的哪些部分花费了最多时间:

  • 打开 shell 的启动文件(例如,在 VS Code 中键入~/.bashrc~/.zshrc快速打开 ( ⌘P (Windows、Linux Ctrl+P ) ))。
  • 有选择地注释掉可能长时间运行的操作(例如nvm您发现的情况)。
  • 保存并完全重新启动 VS Code。
  • 继续注释掉操作,直到错误消失。

注意:虽然nvm它是一个强大且有用的 Node.js 包管理器,但如果在 shell 初始化期间运行,它可能会导致 shell 启动速度变慢。您可以考虑使用包管理器替代方案,例如asdf或在 Internet 上搜索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 时通过添加 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 吗?

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.83(2023 年 9 月)开始的 VS Code 桌面版本将不再支持 macOS Mojave(版本 10.14 及更早版本)。从 VS Code 1.86(2024 年 1 月)开始,我们将停止更新 macOS Mojave(版本 10.14 及更早版本)上的 VS Code。您需要升级到较新的 macOS 版本才能使用更高版本的 VS Code。

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

技术支援

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

如果您想联系专业支持工程师,可以向Microsoft 协助的支持团队开具票证。