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.txt
都位于 resources\app
下。按语言 ID 分类的 LICENSE.txt
语言版本位于 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 Code 是 Microsoft 许可 的 'Code - OSS' 发行版,它包含 Microsoft 专有资产(例如图标)和功能(Visual Studio Marketplace 集成、启用远程开发的某些方面)。尽管这些新增内容只占总体发行版代码库的极小比例,但由于这些差异,说 Visual Studio Code 是“基于”开源构建,而不是“是”开源的更为准确。有关每个发行版包含的内容的更多信息,请参阅 Visual Studio Code 和“Code - OSS”差异 文章。
如何查找扩展的许可证?
大多数扩展在其 Marketplace 页面或概述部分(当您在扩展视图中选择扩展时)提供许可证链接。
例如
如果找不到许可证链接,则可以在扩展的代码库中找到许可证(如果它是公开的),或者可以通过 Marketplace 的问答部分联系扩展作者。
所有 VS Code 扩展都是开源的吗?
扩展作者可以自由选择适合其业务需求的许可证。虽然许多扩展作者选择在开源许可证下发布其源代码,但一些扩展(例如 Wallaby.js、Google Cloud Code 以及 VS Code 远程开发扩展)使用专有许可证。
在 Microsoft,我们尽可能地开源我们的扩展。但是,对现有专有源代码或库、跨越 Microsoft 许可工具或服务(例如 Visual Studio)的源代码以及 Microsoft 全部的业务模式差异的依赖,将导致某些扩展使用专有许可证。您可以在 Microsoft 扩展许可证 文章中找到 Microsoft 贡献的 Visual Studio Code 扩展及其许可证列表。
如何查找版本?
您可以在“关于”对话框中找到 VS Code 版本信息。
在 macOS 上,转到**代码** > **关于 Visual Studio Code**。
在 Windows 和 Linux 上,转到**帮助** > **关于**。
VS Code 版本是列出的第一个**版本**号,并具有“主版本.次版本.发布版本”的版本格式,例如“1.27.0”。
以前的发布版本
您可以在某个版本的发布说明的顶部找到指向某些发行版下载的链接。
如果您需要那里没有列出的安装类型,您可以通过以下 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 压缩包 | 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 压缩包 | 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 英特尔芯片版 | https://update.code.visualstudio.com/{version}/darwin/stable |
macOS 英特尔芯片 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 位版本
Windows x86 32 位版本在 1.83 版本之后不再积极支持,并且可能会带来安全风险。
下载类型 | URL |
---|---|
Windows x86 系统安装程序 | https://update.code.visualstudio.com/{version}/win32/stable |
Windows x86 用户安装程序 | https://update.code.visualstudio.com/{version}/win32-user/stable |
Windows x86 压缩包 | https://update.code.visualstudio.com/{version}/win32-archive/stable |
Windows x86 CLI | https://update.code.visualstudio.com/{version}/cli-win32-ia32/stable |
预发布版本
想要抢先体验 VS Code 的新功能?您可以通过安装“内部人员”版本试用 VS Code 的预发布版本。“内部人员”版本会与您的稳定版 VS Code 安装并排安装,并具有独立的设置、配置和扩展。“内部人员”版本每天都会更新,因此您将获得前一天的最新错误修复和功能更新。
要安装“内部人员”版本,请访问 “内部人员”下载页面。
在哪里可以找到 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 文件被防病毒软件错误地隔离或删除,您也可能会看到**[不支持]**消息(有关示例,请参阅 issue #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 环境花费了太长时间,则下面的步骤可以帮助你调查可能导致速度慢的原因。你也可以通过配置application.shellEnvironmentResolutionTimeout
设置来增加超时时间。但请记住,增加此值意味着你将不得不等待更长时间才能使用 VS Code 中的一些功能,例如扩展。
如果你看到其他错误,请创建一个问题以获得帮助。
调查缓慢的 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 显示空白(空)主窗口,则可以在启动 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 7,Windows 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 版本的更多信息。
我可以在旧版本的 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 协助支持团队打开一个工单。