如何备份VS Code设置和已安装扩展的列表?


75

我刚刚经历了VS Code的安装过程两次。初始安装快速而轻松(与编辑器本身一样),但是我必须记住我安装的扩展列表,并且正在以很高的速度安装新的扩展。

使用Sublime Text,我可以将设置文件复制到另一台PC上,并可以通过这种方式自动安装任何工作流程依赖项,但是VS Code的处理方式是什么?

我可以只备份JSON“设置”文件或类似文件,以便轻松地重新创建工作环境(带有扩展名)吗?

Answers:


59

我已经在主要StackOverflow网站上提交了此问题的答案-粘贴在上下文中

我需要自己做几次-尤其是在另一台计算机上安装时。

根据您的平台,您的扩展文件夹位于以下路径之一:

  • 视窗: %USERPROFILE%\.vscode\extensions
  • 苹果电脑: ~/.vscode/extensions
  • Linux: ~/.vscode/extensions

VS Code在扩展文件夹下查找扩展.vscode/extensions。根据您的平台,它位于:

  • 视窗 %USERPROFILE%\.vscode\extensions
  • 苹果电脑 ~/.vscode/extensions
  • 的Linux ~/.vscode/extensions

那应该给你看扩展列表

我还成功使用Visual Studio Code Settings Sync Extension将设置同步到GitHub gist

编辑:在最新版本的VSCode(2016年5月)中,现在可以在命令行中列出已安装的扩展名

code --list-extensions

Settings Sync扩展程序就像魅力一样工作,只是将我的设置从OS X导出到Linux Mint。
vikas027

7
我不想同步!我要备份!您没有正确回答原始问题。
JesseNewman17年

9

设置同步扩展应该做的伎俩,虽然UX是马马虎虎。

它将您的设置以JSON格式同步到GitHub Gist。您必须创建一个GitHub令牌。我建议将令牌代码保存在令牌文件名中,因为当您以后需要再次下载设置时,不太可能会方便使用该代码(至少是我的情况)。


如果您知道需要GitHub令牌来使用Settings Sync扩展程序,则可以从代码配置文件中与相同文件夹中的token密钥中获取密钥。syncLocalSettings.jsonsettings.json
罗里·奥凯恩

3

因此,如treehead的编辑或MarkP的答案所示,您现在可以列出所有已安装的扩展,因此安装该扩展列表的方式是:

code --list-extensions >> vs_code_extensions_list.txt

将新创建的文件传输到要安装这些扩展名的计算机。在那台机器上,您将:

cat vs_code_extensions_list.txt | xargs -n 1 code --install-extension

然后,它将遍历该文件中的每个扩展名并安装扩展名。

如果您希望全新安装(也就是删除该计算机上的所有现有扩展),则可以在安装新扩展之前运行它(否则,您也将删除这些新扩展)。请务必谨慎,因为这将删除VS Code中的所有扩展名:

code --list-extensions | xargs -n 1 code --uninstall-extension

尝试得到此错误消息:“ xargs:术语'xargs'不被识别为cmdlet,函数,脚本文件或可运行程序的名称。” ?
尼古拉斯·彼得森

1
@NicholasPetersen适用于Linux。在Windows上:get-content c:\exportedlist.txt | % { code --install-extension $_ }
Jason Clement

1

这是 VSCode设置的位置:

Windows %APPDATA%\Code\User\settings.json
macOS $HOME/Library/Application Support/Code/User/settings.json
Linux $HOME/.config/Code/User/settings.json

它似乎只存储修改过的设置,这确实很棒(因此,您不会沉迷于更新的版本)。

您可能还需要/ snippets /,与settings.json在同一文件夹中。

而且,当然,您可以运行code --list-extensions,正如其他答案已经提到的那样。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.