遷移 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.pswp.cn/bicheng/81372.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/81372.shtml
英文地址,請注明出處:http://en.pswp.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…