为什么以及如何从 Visual Studio Code 迁移到 VSCodium
在本教程中,我们将讲解您为何应该进行切换,以及如何在切换后保留所有扩展程序。实际切换过程只需几分钟!
Visual Studio Code 的问题
毫无疑问,Visual Studio Code 是最常用的代码编辑器(至少对于前端开发人员而言)。它确实提供了许多有用的扩展,关于这些扩展的文章已经不胜枚举。
那么为什么我建议您卸载它而使用其他东西呢?
虽然微软的 vscode 源代码是开源的(MIT 许可),但可供下载的产品(Visual Studio Code)是根据此非 FLOSS 许可授权的,并且包含遥测/跟踪。
...可能会收集有关您和您对该软件的使用情况的信息,并将其发送给 Microsoft...您可以选择退出其中许多情况,但不是全部...
微软坚称这是为了漏洞追踪之类的,这或许没错。但你永远不知道这些数据最终会落入某些不法之徒手中,被用于什么用途。
您可以在 Visual Studio Code 中关闭遥测报告,但 Microsoft 有很多机会添加其他功能,但您可能会忽略这些功能。
在终端中运行此命令并检查输出
code --telemetry
不太好,我们来改变它。
VSCodium
VSCodium ... 并非一个分支。这是一个脚本库,用于自动将微软的 vscode 库构建为自由许可的二进制文件,并采用社区驱动的默认配置。
这意味着我们无需费力地自行构建每个版本,一切都已为您完成,最棒的是,我们获得的这些二进制文件遵循 MIT 许可证。遥测功能已完全禁用。
此外,编辑器本身的外观和功能完全相同,您不会错过任何东西!
这是一个非常简单且令人信服的论点。
如何安装 VSCodium 并保留所有扩展和设置
这部分比较简单。我将重点介绍 macOS,但这些说明在其他平台上也很容易修改。
已更新以包含设置
确保已安装Homebrew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
1. 导出所有已安装的扩展
首先将所有已安装的扩展导出到文本文件中(根据需要修改输出路径)
code --list-extensions | tee ~/vscode-extensions.txt
这将输出您的所有扩展~/vscode-extensions.txt
并将它们列在您的终端中以供您查看。
2. 导出您的设置
将您拥有的任何自定义键绑定和用户设置导出为默认值。
cp ~/Library/Application\ Support/Code/User/settings.json ~/vscode-settings.json
cp ~/Library/Application\ Support/Code/User/keybindings.json ~/vscode-keybindings.json
3.卸载Visual Studio Code
我们使用强制参数,这样就不会遗漏任何可能与 VSCodium 安装发生冲突或中断的内容。
brew cask uninstall --force visual-studio-code
4.安装VSCodium
brew cask install vscodium
5.重新安装 VSCodium 扩展
因为 VSCodium 具有相同的命令行工具,所以我们可以像以前一样调用它们
xargs -n1 code --install-extension < ~/vscode-extensions.txt
这将遍历文件并code --install-extension
逐行执行。
您应该已经在终端中看到了输出。
如果收到DeprecationWarning: Buffer()...
警告,不必担心,它与 Yarn 有关,可以通过以下方式解决yarn global add yarn
6.导入您的设置
mv ~/vscode-settings.json ~/Library/Application\ Support/VSCodium/User/settings.json
mv ~/vscode-keybindings.json ~/Library/Application\ Support/VSCodium/User/keybindings.json
现在你应该已经设置好了,可以开始使用了,唯一需要注意的是logo会有所不同。其他一切操作、感觉和功能都和以前一样。
祝各位开发者编码愉快!
文章来源:https://dev.to/0xdonut/why-and-how-you-should-to-migrate-from-visual-studio-code-to-vscodium-j7d