Visual Studio Code FAQ

news/2025/2/26 23:56:33

Visual Studio Code FAQ

  • Visual Studio Code FAQ
    • Visual Studio Code 和 Visual Studio IDE 有什么区别?
    • 支持哪些作系统?
      • VS Code 软硬件要求
        • 硬件
        • 平台
        • 不支持
        • 其他 Linux 要求
    • VS Code 是免费的吗?
    • 如何禁用遥测报告
      • 如何禁用试验
    • 如何禁用崩溃报告
    • GDPR 和 VS Code
    • VS Code 使用哪些在线服务?
    • 如何选择退出 VS Code 自动更新?
      • 选择退出扩展更新
    • 许可
      • 存储位置
      • 为什么 Visual Studio Code 的许可证与 vscode GitHub 存储库不同?
      • vscode 存储库和 Microsoft Visual Studio Code 发行版之间有什么区别?
      • “Built on Open Source”是什么意思?
      • 如何找到扩展的许可证?
    • 所有 VS Code 扩展都是开源的吗?
    • 如何查看版本信息?
    • 以往的发行版
      • Windows 32 位版本
    • 预发行版本
    • 在哪里可以找到 Visual Studio Code 图标?
    • 什么是 VS Code“工作区”?
    • VS Code 有可移植版本吗?
    • 报告 VS Code 扩展的问题
    • 安装似乎已损坏 [不支持]
    • 解决 shell 环境失败的问题
      • 检查 shell 初始化过慢的问题
      • 从终端启动 VS Code
    • VS Code 显示空白?
    • VS Code 在打开文件夹后无响应
    • 可以在较旧的 Windows 版本上运行 VS Code 吗?
    • 可以在旧的 macOS 版本上运行 VS Code 吗?
    • 可以在较旧的 Linux 发行版上运行 VS Code 吗?
    • 技术支持
  • 链接

Visual Studio Code FAQ

大部分关于 VS Code 的问题可以在其 GitHub 上的 Issues 页面找到,当前页面整理了常见问题。

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

Visual Studio Code(简称 VS Code)是一个精简的代码编辑器。它支持调试、任务运行和版本控制等开发操作。其目标是为开发人员提供快速代码构建和调试所需的工具,而将更复杂的工作流程留给功能更全面的集成开发环境(如 Visual Studio IDE)。

支持哪些作系统?

Visual Studio Code(简称 VS Code)可在 macOS、Linux 和 Windows 操作系统上运行。查看需求文档可了解其支持的版本信息。在设置概述中可以找到更多特定于这些平台的详细信息。

VS Code 软硬件要求

硬件

Visual Studio Code 的安装包小于 200 MB,磁盘占用量小于 500 MB。

推荐配置:

  • 1.6 GHz 或更快的处理器
  • 1 GB 内存
平台

VS Code 支持以下平台:

  • Windows 10 和 11(64 位)
  • 支持 Apple 安全更新的 macOS 版本,通常是最新版本和之前的两个版本。
  • Linux(Debian):Ubuntu 桌面 20.04、Debian 10
  • Linux(红帽):红帽企业 Linux 8、Fedora 36
不支持
  • VS Code 不支持应用程序虚拟化解决方案,例如 Microsoft App-V1 或适用于 Windows 的 MSIX2,或第三方应用程序虚拟化技术。
  • 在虚拟机环境中运行 VS Code 需要完整的操作系统。
  • VS Code 不支持多个用户同时在同一台机器上使用,包括共享虚拟桌面基础架构机器或池化的 Windows/Linux 虚拟桌面主机池。
  • 不支持在 Windows/Linux 容器中运行完整的 VS Code,但支持使用 Dev Containers 开发容器扩展。使用 Dev Containers 扩展时,VS Code 服务器在容器中运行,而 VS Code 客户端在桌面上。
其他 Linux 要求
  • GLIBCXX 版本 3.4.25 或更高版本
  • GLIBC 版本 2.28 或更高版本

VS Code 是免费的吗?

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

如何禁用遥测报告

Visual Studio Code(VS Code)会收集使用数据并将其发送给微软,以帮助改进微软的产品和服务。可以阅读微软的隐私声明和遥测文档以了解更多相关信息。

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

在 VS Code 中,从 File > Preferences > Settings 进入,搜索 telemetry ,然后将 Telemetry: Telemetry Level 设置为 off。这样设置后,从现在起 VS Code 中的所有遥测事件都将被禁止。

重要通知:Visual Studio Code(以下简称 VS Code)提供了安装 Microsoft 和第三方扩展的选项。这些扩展可能会收集它们自己的使用情况数据,并且不受 telemetry.telemetryLevel 设置的控制。请查阅特定扩展的文档以了解其遥测报告情况。

如何禁用试验

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

在 VS Code 中,从 File > Preferences > Settings 进入,搜索 experiments,然后取消选中 Workbench: Enable Experiments 设置。这将阻止 VS Code 调用服务并退出任何正在进行的实验。

如何禁用崩溃报告

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

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

File > Preferences > Settings 中,搜索 telemetry,并将 Telemetry: Telemetry Level (遥测:遥测级别) 设置设置为 off。这将静默所有遥测事件,包括来自 VS Code 的崩溃报告。需要重新启动 VS Code 才能使设置更改生效。

GDPR 和 VS Code

《通用数据保护条例》(GDPR)现已生效:

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

可以在遥测文档中了解有关 VS Code 的 GDPR 合规性的更多信息。

VS Code 使用哪些在线服务?

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

可以选择打开/关闭使用这些服务的功能。从 File > Preferences > Settings,然后键入标签 @tag:usesOnlineServices。这将显示控制在线服务使用的所有设置,可以单独打开或关闭它们。

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

默认情况下,VS Code 设置为在发布新更新时为 macOS 和 Windows 用户自动更新。如果不想获取自动更新,可以将 Update: Mode (更新: 模式) 设置从 default 变更为 none

要修改更新模式,请转到 File > Preferences > Settings,搜索 update mode,然后将设置更改为 none

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

    "update.mode": "none"

可以通过卸载当前版本,然后安装特定发行说明页面顶部提供的下载来安装 VS Code 的早期版本。

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

选择退出扩展更新

默认情况下,VS Code 还会在新版本可用时自动更新扩展。如果不希望扩展自动更新,可以清除 Settings 编辑器 (Ctrl+,) 中的 Extensions: Auto Update 复选框。

如果您使用 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 下。

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

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

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

github.com/microsoft/vscode 存储库 (Code - OSS) 是开发 Visual Studio Code 产品的地方。VS Code 开发团队不仅在那里编写代码和处理问题,还发布我们的路线图、每月迭代和最终计划。源代码在标准 MIT 许可证下可供所有人使用。

Visual Studio Code 是 Code - OSS 存储库的发行版,其中包含 Microsoft 特定的自定义项(包括源代码),在传统的 Microsoft 产品许可证下发布。

有关更多详细信息,请参阅 Visual Studio Code and ‘Code - OSS’ Differences 一文。

“Built on Open Source”是什么意思?

Microsoft Visual Studio Code 是由微软授权分发的 Code - OSS 版本,其中包含微软的专有资产(如图标)和功能(Visual Studio Marketplace 集成、实现远程开发)。虽然这些新增内容在整体分发代码库中只占很小的比例,但由于这些差异,更准确地说 Visual Studio Code 是 “构建于” 开源之上,而不是 “本身就是” 开源。关于每个分发版本所包含内容的更多信息,可以在 Visual Studio Code and ‘Code - OSS’ Differences 一文中找到。

如何找到扩展的许可证?

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

如果没有找到许可证的链接,可能会在扩展的存储库中找到许可证(如果它是公开的),或者可以通过 Marketplace 的Q&A部分联系扩展作者。

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

扩展作者可以自由选择适合其业务需求的许可证。许多扩展作者选择在开源许可证下发布他们的源代码,但像 Wallaby.js4、Google Cloud Code 以及 VS Code 远程开发扩展等一些扩展使用专有许可证。

在微软,只要有可能,就会开源扩展。然而,对现有专有源代码或库的依赖、交叉到微软许可工具或服务(例如 Visual Studio)的源代码以及整个微软的业务模式差异,将导致一些扩展使用专有许可证。您可以在 微软扩展许可证 文章中找到微软提供的 Visual Studio Code 扩展及其许可证的列表。

如何查看版本信息?

可以在 About (关于) 对话框中找到 VS Code 版本信息。

在 macOS 上,转到 Code>About Visual Studio Code

在 Windows 和 Linux 上,转到 Help > About

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

以往的发行版

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

如果需要的安装类型未在此处列出,您可以通过以下 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 命令行界面: 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 命令行界面: 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 芯片: 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 命令行界面: 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 命令行界面: 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 命令行界面: 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 版本发布后不再受支持,并且可能会带来安全风险。

  • 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 命令行界面: 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“工作区”?

Visual Studio Code(VS Code)中的 “工作区” 通常是项目的根文件夹。VS Code 使用 “工作区” 这个概念来限定项目配置的范围,包括特定于项目的设置以及用于调试和任务的配置文件。工作区文件存储在项目根目录下的 .vscode 文件夹中。通过一个名为 Multi-root workspaces 的功能,在 VS Code 工作区中可以有多个根文件夹。

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

VS Code 有可移植版本吗?

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

报告 VS Code 扩展的问题

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

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

Visual Studio Code(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 文件中定义的环境设置。这意味着 tasks 或 debug targets 等功能也可以访问这些设置。

然而,当从平台的用户界面启动时(例如,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 中,通过在快速打开 (Ctrl+P) 中键入 ~/.bashrc~/.zshrc)。
  • 有选择地注释掉可能长时间运行的任务(例如 nvm)。
  • 保存并完全重启 VS Code。
  • 继续注释任务,直到错误消失。

注意:虽然 nvm 是一个功能强大且有用的 Node.js 包管理器,但如果在 shell 初始化期间运行,可能会导致 shell 启动时间变慢。可以考虑软件包管理器替代方案,例如 asdf5 或在 Internet 上搜索 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 代码 --disable-gpu

如果在更新后发生这种情况,则删除 GPUCache 目录可以解决此问题。
rm -r ~/.config/Code/GPUCache rm ~/.config/code/gpucache

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

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

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

“files.exclude”: {“**/largeFolder”: true}

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

微软已终止对 Windows 7、Windows 8 和 Windows 8.1 的支持,并且不再提供安全更新。从 1.71 版本(2022 年 8 月)开始,VS Code 桌面版不再在 Windows 7 上运行;从 1.80 版本(2023 年 6 月)开始,将不再在 Windows 8 和 8.1 上运行。若要使用更高版本的 VS Code,需要升级到更新的 Windows 版本。

Visual Studio Code(VS Code)将不再在旧的 Windows 版本上提供产品更新或安全修复。对于 Windows 7 用户,VS Code 1.70.3 是最后可用的版本;对于 Windows 8 和 8.1 用户,1.79 版本将是最后可用的版本。

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

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

从 2024 年 11 月发布的 Visual Studio Code 桌面版本 1.96 开始,将不再支持 macOS Catalina(10.15 及更早版本)。从 2025 年 2 月的 Visual Studio Code 1.98 开始,将停止在 macOS Catalina(10.15 及更早版本)上更新 Visual Studio Code。如果要使用更高版本的 Visual Studio Code,需要升级到更新的 macOS 版本。

Visual Studio Code 将不再在 macOS Catalina(10.15 及更早版本)上提供产品更新或安全修复,并且 VS Code 1.97 版本将是 macOS Catalina(10.15 及更早版本)的最后一个可用版本。

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

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

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

技术支持

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

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

链接

  • Visual Studio Code FAQ
  • Visual Studio IDE
  • Visual Studio Code and ‘Code - OSS’ Differences
  • 微软扩展许可证
  • Insiders 下载页面
  • 图标和名称使用指南
  • Multi-root workspaces
  • 什么是 VS Code “工作区”?
  • 便携模式
  • web 客户端

  1. Microsoft Application Virtualization (App-V) 是一种应用程序虚拟化解决方案,它允许应用程序在虚拟环境中运行,而无需在用户的操作系统上进行传统的安装。通过 App-V,应用程序可以被打包成虚拟应用程序包,并在需要时按需流式传输到用户的设备。这种方式不仅减少了应用程序之间的冲突,还简化了应用程序的部署和管理。 ↩︎

  2. MSIX 是 Microsoft 推出的一种现代化应用程序打包和分发格式,旨在统一现有的安装技术(如 MSI 和 AppX),提供更可靠和高效的应用程序部署体验。MSIX 包含应用程序的所有必要文件和配置,支持应用程序的安全更新和管理,同时确保应用程序之间的隔离,减少冲突和兼容性问题。 ↩︎

  3. 非常感谢您对这个话题的关注。很抱歉没能早点发表评论,此前我一直在度假,刚处理完积压的工作。现在,让我来为您详细阐述一下我们思考背后的细节。
    在着手开放源代码库时,我们研究了可供借鉴的常见做法。我们期望打造一款 Microsoft 品牌的产品,它基于社区能够探索并贡献的开源代码库。
    我们注意到,许多品牌产品采用自定义产品许可进行发布,而底层源代码则依据开源许可向社区开放。例如,Chrome 基于 Chromium 构建,Oracle JDK 基于 OpenJDK 构建,Xamarin Studio 基于 MonoDevelop 构建,JetBrains 产品基于 IntelliJ 平台构建。这些品牌产品都带有各自的自定义许可条款,但均构建于开源代码库之上。
    对于 vscode,我们采用了与 Visual Studio Code 类似的模式。我们基于刚刚开源的代码库进行构建,并依据标准的预发布 Microsoft 许可证发布它。
    这一模式的优势在于,您既可以选择在我们的许可下使用 Visual Studio Code 品牌产品,也能够在 MIT 许可下直接从存储库构建该工具的版本。
    其工作原理如下:从存储库构建 vscode 时,您可通过自定义文件 product.json 来配置生成的工具。这个文件控制着诸如 Gallery 端点、“Send-a-Smile” 端点、遥测端点、徽标、名称等内容。
    我们在构建 Visual Studio Code 时就是如此操作的。我们克隆 vscode 存储库,针对 product.json 制定具有 Microsoft 特定功能(遥测、图库、徽标等)的自定义内容,然后生成一个依据我们的许可证发布的版本。
    当您从 vscoderepo 克隆并构建时,默认情况下 product.json 中这些端点均未配置。所以,您将生成一个 “纯净” 的构建版本,没有 Microsoft 的自定义内容,并且默认情况下,该版本依据 MIT 许可证授权(注意,我做了这个提交,以便更清晰地说明这一点)。
    希望以上内容能帮助您理解为何我们的 Microsoft 品牌 Visual Studio Code 产品采用自定义产品许可证,而 vscode 开源存储库采用 MIT 许可证。最后,很抱歉,Visual Studio CodeVS Code 以及存储库vscode 的命名如此相似,我意识到这引发了一些混淆。 ↩︎

  4. Wallaby.js 是一款强大的实时代码分析和测试工具,它能够在你编写代码时实时运行测试,立即反馈代码质量和测试结果,帮助快速定位错误和潜在问题。Wallaby.js 支持 JavaScript、TypeScript 等多种主流编程语言,并与 VS Code、WebStorm 等常见开发环境无缝集成,大幅提升开发效率,帮助开发者轻松构建高质量软件。 ↩︎

  5. asdf-nvm 是 asdf 版本管理器的一个插件,用于管理 Node.js 版本。它结合了 asdf 的多语言版本管理功能和 nvm 的 Node.js 版本管理功能,使用户能够轻松地在同一系统上安装和切换多个 Node.js 版本。通过 asdf-nvm,开发者可以在不同项目之间无缝切换 Node.js 版本,确保项目的依赖和环境一致性,从而提高开发效率和项目的可维护性。 ↩︎


http://www.niftyadmin.cn/n/5869288.html

相关文章

力扣-动态规划-343 整数划分

思路 dp数组定义:i的最大化乘积为dp[i]递推公式:j取1到二分之i,然后分别求dp[i] max( dp[i], max(j*(i-j), j*dp[i-j]))dp数组初始化:dp[2] 1遍历顺序:顺序遍历时间复杂度: 代码 class Solution …

企业级大模型应用的Java-Python异构融合架构实践

一、后端语言相关技术生态 Python语言 Python在AI计算领域拥有全面的生态支持: 底层工具库: Pandas、NumPy、SciPy、Matplotlib深度学习框架: PyTorch、TensorFlow领域专用框架: HuggingFace Transformers(社区生态为主) 常见Python框架 …

HarmonyOS学习第7天: 文本组件点亮界面的文字魔法棒

一、引言 在 HarmonyOS 那丰富多彩的系统界面中,从简洁直观的应用图标,到交互流畅的操作菜单,再到生动形象的图文展示,每一处细节都经过精心雕琢,为用户带来了独特而美妙的视觉与交互体验。而在这琳琅满目的界面元素中…

Linux相关知识(文件系统、目录树、权限管理)和Shell相关知识(字符串、数组)

仅供自学,请去支持javaGuide原版书籍。 1.Linux 1.1.概述 Linux是一种类Unix系统。 严格来讲,Linux 这个词本身只表示 Linux内核,单独的 Linux 内核并不能成为一个可以正常工作的操作系统。所以,就有了各种 Linux 发行版&#…

【深度学习神经网络学习笔记(三)】向量化编程

向量化编程 向量化编程前言1、向量化编程2、向量化优势3、正向传播和反向传播 向量化编程 前言 向量化编程是一种利用专门的指令集或并行算法来提高数据处理效率的技术,尤其在科学计算、数据分析和机器学习领域中非常常见。它允许通过一次操作处理整个数组或矩阵的…

支持 40+ 插件,Spring AI Alibaba 简化智能体私有数据集成

作者:张震霆 & 何裕墙,Spring AI Alibaba Contributor 在 AI 智能体(AI Agent)开发的过程中,RAG(Retrieval-Augmented Generation) 和 Tool Calling 已经成为两种至关重要的模式。RAG 通过…

力扣 3248. 矩阵中的蛇(Java实现)

题目分析 给定一个值n,既是矩阵边长还是操作次数。蛇可以进行上下左右操作,问操作完毕后的位置 思路分析 首先设置初始位置0,当读取操作时进行对应的操作。由示例可以看出,UP操作就是i-n;RIGHT操作就是i1;DOWN操作就是in;LEFT操作…

鸿蒙Next-方法装饰器以及防抖方法注解实现

以下是关于 鸿蒙Next(HarmonyOS NEXT)中 MethodDecorator 的详细介绍及使用指南,结合了多个技术来源的实践总结: 一、MethodDecorator 的概念与作用 MethodDecorator 是鸿蒙Next框架中用于装饰类方法的装饰器,属于 Ark…