如何导出所有Visual Studio Code设置和插件并将它们导入到另一台计算机?
如何导出所有Visual Studio Code设置和插件并将它们导入到另一台计算机?
Answers:
Visual Studio Code有一个扩展,称为设置同步 https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync
它通过gist(GitHub的Gist)同步您的设置。它的工作原理与Atom.io扩展名settings-sync相同。
在撰写本文时,使用VSCode的当前版本(1.22.1),您可以在以下位置找到您的设置
~/.config/Code/User
在Linux上(在我的情况下,是Ubuntu衍生版本)C:\Users\username\AppData\Roaming\Code\User
在Windows 10上~/Library/Application Support/Code/User/
在Mac OS X上(感谢Christophe De Troyer)文件是settings.json
和keybindings.json
。只需将它们复制到目标计算机即可。
您的扩展程序在
~/.vscode/extensions
在Linux和Mac OS X上C:\Users\username\.vscode\extensions
在Windows 10上(例如,基本上在同一地方)或者,只需转到扩展,显示已安装的扩展,然后将其安装在目标安装中即可。对我来说,复制扩展程序工作得很好,但是它可能是特定于扩展程序的,尤其是在平台之间移动时,具体取决于扩展程序的功能。
.workspace
文件中,或者在.vscode/settings.json
与Big Rich给出的答案类似,您可以执行以下操作:
$ code --list-extensions | xargs -L 1 echo code --install-extension
这将列出扩展名以及安装命令,因此您可以将整个输出复制并粘贴到另一台计算机中:
例:
code --install-extension EditorConfig.EditorConfig
code --install-extension aaron-bond.better-comments
code --install-extension christian-kohler.npm-intellisense
code --install-extension christian-kohler.path-intellisense
code --install-extension CoenraadS.bracket-pair-colorizer
取自此处给出的答案
注意:确保事先已将VS代码添加到路径中。在Mac上,您可以执行以下操作:
我更喜欢用自己的方式在笔记本电脑之间同步所有VSCode扩展,使用.dotfiles
和小脚本自动执行更新。每当我想安装所有扩展名时(通过brew),在VSCode中没有任何鼠标活动的情况下,这种方法都会对我有帮助。
因此,我只是将每个新添加的扩展名写入存储在我的文件夹中的.txt文件.dotfiles
。之后,我拉另一台笔记本电脑上的master分支以获取具有所有扩展名的最新文件。
使用Big Rich之前编写的脚本并进行了另一处更改,我几乎可以完全自动同步所有扩展。
cat dart-extensions.txt | xargs -L 1 code --install-extension
此外,还有另一种方法可以使该过程自动化。在这里,您可以添加脚本,该脚本可以实时查看VSCode扩展,并且每次在code --list-extensions
命令和.txt文件之间进行比较时,.dotfiles
都可以轻松地更新文件并将其推送到远程仓库
我已经制作了一个Python脚本,用于将vsc设置导出到单个zip文件中。 https://gist.github.com/wonderbeyond/661c686b64cb0cabb77a43b49b16b26e
您可以将zip文件上传到外部存储设备。
$ vsc-settings.py export
Exporting vsc settings:
created a temporary dump dir /tmp/tmpf88wo142
generating extensions list
copying /home/wonder/.config/Code/User/settings.json
copying /home/wonder/.config/Code/User/keybindings.json
copying /home/wonder/.config/Code/User/projects.json
copying /home/wonder/.config/Code/User/snippets
adding: snippets/ (stored 0%)
adding: snippets/go.json (deflated 56%)
adding: projects.json (deflated 67%)
adding: extensions.txt (deflated 40%)
adding: keybindings.json (deflated 81%)
adding: settings.json (deflated 59%)
VSC settings exported into /home/wonder/vsc-settings-2019-02-25-171337.zip
$ unzip -l /home/wonder/vsc-settings-2019-02-25-171337.zip
Archive: /home/wonder/vsc-settings-2019-02-25-171337.zip
Length Date Time Name
--------- ---------- ----- ----
0 2019-02-25 17:13 snippets/
942 2019-02-25 17:13 snippets/go.json
519 2019-02-25 17:13 projects.json
471 2019-02-25 17:13 extensions.txt
2429 2019-02-25 17:13 keybindings.json
2224 2019-02-25 17:13 settings.json
--------- -------
6585 6 files
PS:您可以vsc-settings.py import
为我实现子命令。
当前存在一个开放功能请求问题,该问题似乎在设计建议阶段。我将等待官方的支持。您可以订阅该问题并获得有关进度的通知。
https://github.com/microsoft/vscode/issues/2743#issuecomment-560116420