迁移 Visual Studio Code 设置和扩展到 VSCodium

本文同步发布在个人博客

迁移 Visual Studio Code 设置和扩展到 VSCodium - 萑澈的寒舍https://hs.cnies.org/archives/vscodium-migrateVisual Studio Code(以下简称 VS Code)无疑是当下最常用的代码编辑器。尽管微软的 VS Code 源代码采用 MIT 协议开源(意味着核心代码是开放透明的),但用户实际下载使用的「Visual Studio Code」客户端,其最终用户许可协议(EULA)并非自由开源软件(Non-FLOSS)许可,且内置了“遥测追踪”功能。微软在协议中直白写道:

...可能会收集您及软件使用的相关信息,并发送给微软...您可以选择关闭部分追踪场景,但并非全部...

微软坚称这些数据仅用于漏洞追踪等“正当用途”,这或许是真的。但现数据一旦离手,谁又能保证它不会被别有用心之人(甚至是规则变更后的官方)用于其他目的?

你当然可以手动关闭 VS Code 的遥测上报功能,但别忘了:作为商业公司,微软完全有机会在未来版本中悄悄加入其他“隐蔽功能”——这些改动可能藏在冗长的更新日志里,稍不留意就会从你眼前滑过。

VSCodium 是微软 Visual Studio Code 的一个 100% 免费且开源克隆版本。它是由社区驱动、采用自由许可的二进制发行版,不包含微软的遥测/跟踪功能。

安装

访问 VSCodium - Open Source Binaries of VSCode 下载对应的二进制文件即可。也可以使用 不同平台对应的包管理器 进行安装。

迁移扩展

VSCodium(以及从源代码全新克隆构建的 Visual Studio Code 副本)将其扩展文件存储在 ~/.vscode-oss 中。因此,如果你当前已安装了 Visual Studio Code,扩展将不会自动迁移。你需要在 VSCodium 中从扩展市场重新安装扩展,或者将扩展从 ~/.vscode/extensions 复制到 ~/.vscode-oss/extensions

迁移设置和快捷键

Visual Studio Code 将其 keybindings.json 和 settings.json 文件存储于以下位置:

  • Windows: %APPDATA%\Code\User

  • macOS: $HOME/Library/Application Support/Code/User

  • Linux: $HOME/.config/Code/User

可以将这些文件复制到 VSCodium 的用户设置文件夹中:

  • Windows: %APPDATA%\VSCodium\User

  • macOS: $HOME/Library/Application Support/VSCodium/User

  • Linux: $HOME/.config/VSCodium/User

手动复制设置配置:

  • 在 Visual Studio Code 中,前往设置。

  • 点击三个点“...”并选择“打开 settings.json

  • settings.json 的内容复制到 VSCodium 中的相同位置

配置扩展源

VSCodium 是一个基于 VSCode 的编辑器,通过安装 VS Code 扩展可以获得额外的功能。但是,由于微软禁止其他产品使用 Microsoft Marketplace(市场),也禁止从市场中重新分发 “.vsix” 文件,因此,在非微软产品中使用 VS Code 扩展需要以不同的方式安装。

默认情况下,product.json 文件设置为使用 open-vsx.org 作为扩展程序库,该库具有适配器,可以使用 VS Code 使用的 Marketplace API。由于这是一个相对较新的项目,您可能会错过一些您从 VS Code Marketplace 中了解的扩展程序。您有以下选项来获取这些缺失的扩展:

  • 请求扩展程序维护者在 open-vsx.org 上发布扩展程序,以补充 VS Code Marketplace。发布过程在 Open VSX Wiki 中得到说明。

  • 在 此存储库 上创建拉取请求,让 @open-vsx 服务帐户为您发布扩展程序。

  • 下载并 安装 vsix 文件,例如从源代码库的发布页面。

安装根目录/resources/app/product.json 文件中的修改 extensionsGallery 键设置 VSCodium 采用微软官方扩展源:

{"extensionsGallery": {"serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery","itemUrl": "https://marketplace.visualstudio.com/items","cacheUrl": "https://vscode.blob.core.windows.net/gallery/index","controlUrl": ""}
}

也可以使用以下环境变量:

  • VSCODE_GALLERY_SERVICE_URL='https://marketplace.visualstudio.com/_apis/public/gallery'

  • VSCODE_GALLERY_ITEM_URL='https://marketplace.visualstudio.com/items'

  • VSCODE_GALLERY_CACHE_URL='https://vscode.blob.core.windows.net/gallery/index'

  • VSCODE_GALLERY_CONTROL_URL=''

参考资料

VSCodium - Open Source Binaries of VSCode

GitHub - VSCodium/vscodium: binary releases of VS Code without MS branding/telemetry/licensing

VSCodium: 100% Open Source Clone of Microsoft VS Code

VS Code vs VS Codium: What's the Difference?

How to Migrate From Visual Studio Code to VS Codium - All Things Worthwhile

Why and how you should migrate from Visual Studio Code to VSCodium - DEV Community

VSCodium 安装配置手册 | DogDayAfternoon

设置vscodium采用微软官方扩展源 - 知乎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/81372.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣654题:最大二叉树(递归)

小学生一枚,自学信奥中,没参加培训机构,所以命名不规范、代码不优美是在所难免的,欢迎指正。 标签: 二叉树、递归 语言: C 题目: 给定一个不重复的整数数组 nums 。最大二叉树可以用下面的算…

离散制造企业WMS+MES+QMS+条码管理系统高保真原型全解析

在离散型制造企业的生产过程中,库存管理混乱、生产进度不透明、质检流程繁琐等问题常常成为制约企业发展的瓶颈。为了帮助企业实现全流程数字化管控,我们精心打造了一款基于离散型制造企业(涵盖单件生产、批量生产、混合生产模式)…

Linux操作系统--进程间通信(system V共享内存)

目录 1.system V共享内存 2.共享内存数据结构 3.共享内存函数 4.实例代码: 1.system V共享内存 共享内存区是最快的IPC(进程间通信)形式。一旦这样的内存映射到共享它的进程地址空间,这些进程间数据传递不再涉及到内核,换句话说是进程不再…

【C++】类与对象

目录 1、类的定义 2、类的访问限定符及封装 3、类的实例化 4、类和对象的大小 5、this 指针 6、类的六个默认成员函数 构造函数 析构函数 拷贝构造函数 赋值重载函数 取地址运算符的重载函数 7、运算符重载 8、const 成员函数 9、 static 成员 10、友元 11、…

现代简约中式通用,民国画报风,中国风PPT模版8套一组分享

中国风PPT模版分享:中国风PPT模版分享https://pan.quark.cn/s/abbf75507c5f 第1套PPT模版:棕色调中式窗棂封面,水墨山水背景配白梅与灯笼流苏,适用于教学课件目录设计,展现浓郁的书卷气息。 第2套PPT模版:米…

django扩展练习记录

一、Django 中使用 django-apscheduler 实现定时任务 可以方便地管理周期性任务(如每天清理缓存、定时发送邮件等) 1. 安装 pip install django-apscheduler -i https://pypi.tuna.tsinghua.edu.cn/simple #0.7.02.添加到应用,python m…

Guided Filtering相关记录

一、背景介绍 以前折腾保边滤波时候,刷了一些Guided Filtering相关资料。这里主要是对它们做个算法效果复现和资料简单整理。 二、Guided Filtering 1、基本原理 原版Guided Filtering的提出,主要是为了改善双边滤波做保边平滑滤波器时候的梯度翻转伪影…

知识图谱系列(2):知识图谱的技术架构与组成要素

1. 引言 知识图谱作为一种强大的知识表示和组织方式,已经在搜索引擎、推荐系统、智能问答等多个领域展现出巨大的价值。在之前的上一篇文章中,我们介绍了知识图谱的基础概念与发展历程,了解了知识图谱的定义、核心特征、发展历史以及在AI发展中的地位与作用。 要深入理解和…

操作系统|| 虚拟内存页置换算法

题目 写一个程序来实现 FIFO 和 LRU 页置换算法。首先,产生一个随机的页面引用序列,页面数从 0~9。将这个序列应用到每个算法并记录发生的页错误的次数。实现这个算法时要将页帧的数量设为可变。假设使用请求调页。可以参考所示的抽象类。 抽象类&…

开发与AI融合的Windsurf编辑器

Windsurf编辑器是开发人员和人工智能真正融合在一起的地方,提供了一种感觉像文字魔术的编码体验。 手册:Windsurf - Getting Started 下载链接:Download Windsurf Editor for Windows | Windsurf (formerly Codeium) 下载安装 从上面的下载…

【Java】网络编程(Socket)

网络编程 Socket 我们开发的网络应用程序位于应用层,TCP和UDP属于传输层协议,在应用层如何使用传输层的服务呢?在应用层和传输层之间,则使用套接字Socket来进行分离 套接字就像是传输层为应用层开的一个小口,应用程…

【教程】Docker方式本地部署Overleaf

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 目录 背景说明 下载仓库 初始化配置 修改监听IP和端口 自定义网站名称 修改数据存放位置 更换Docker源 更换Docker存储位置 启动Overleaf 创…

根据用户ID获取所有子节点数据或是上级直属节点数据

一、根据用户ID获取所有子节点,通过存储过程来实现 CREATE DEFINERcrmeb% PROCEDURE proc_get_user_all_children( IN rootUid INTEGER, -- 要查询的根用户ID IN includeSelf BOOLEAN -- 是否包含自身(1包含,0不包含) ) BEGIN -- 声明变…

计算机组成原理——数据的表示

2.1数据的表示 整理自Beokayy_ 1.进制转换 十六进制与二进制的转换 一位十六进制等于四位二进制 四位二进制等于一位十六进制 0x173A4C0001 0111 0011 1010 0100 1100 十六进制与十进制的转换 十六转十:每一位数字乘以相应的16的幂再相加 十转十六&#xff1a…

基于MATLAB-GUI图形界面的数字图像处理

基于MATLAB GUI的数字图像处理系统实现方案,包含常见图像处理功能。代码分为两部分:GUI界面设计和回调函数实现。 %% 第一部分:创建GUI界面 (使用GUIDE) % 1. 打开GUIDE: guide % 2. 创建新GUI,添加以下控件: % - …

从裸机开发到实时操作系统:FreeRTOS详解与实战指南

从裸机开发到实时操作系统:FreeRTOS详解与实战指南 本文将带你从零开始,深入理解嵌入式系统中的裸机开发与实时操作系统,以FreeRTOS为例,全面剖析其核心概念、工作原理及应用场景。无论你是嵌入式新手还是希望提升技能的开发者&am…

zabbix7.2最新版本 nginx自定义监控(三) 设置触发器

安装zabbix-get服务 在zabbix-server端口安装zabbix-get服务 [rootlocalhost ~]# dnf install -y zabbix-get Last metadata expiration check: 1:55:49 ago on Wed 14 May 2025 09:24:49 AM CST. Dependencies resolved. Package Architectur…

在 Kotlin 中,什么是解构,如何使用?

在 Kotlin 中,解构是一种语法糖,允许将一个对象分解为多个独立的变量。 这种特性可以让代码更简洁、易读,尤其适用于处理数据类、集合(如 Pair、Map)或其他结构化数据。 1 解构的核心概念 解构通过定义 componentN()…

html的鼠标点击事件有哪些写法

在HTML中&#xff0c;鼠标点击事件的实现方式多样&#xff0c;以下从基础语法到现代实践为您详细梳理&#xff1a; 一、基础写法&#xff1a;直接内联事件属性 在HTML标签内通过on前缀事件属性绑定处理函数&#xff0c;适合简单交互场景&#xff1a; <!-- 单击事件 -->…

基于EFISH-SCB-RK3576/SAIL-RK3576的智能垃圾分类站技术方案

&#xff08;国产化替代J1900的环保物联网解决方案&#xff09; 一、硬件架构设计‌ ‌多模态感知系统‌ ‌高精度识别模块‌&#xff1a; 双光谱成像&#xff08;RGB近红外&#xff09;融合NPU加速ResNet50模型&#xff0c;支持40垃圾品类识别&#xff08;准确率>99.5%&am…