概述

Synchronize settings, snippets, themes, icons, launch, keybindings, workspaces and extensions across machines using GitHub Gis.

若对 Settings Sync 其中的介绍不感兴趣的可以直接跳到配置一节

同步的核心 Gist

如果将Github仓库比作是一本书,那么 Gist 就是一页纸。Gist 没有像 Github 仓库那样有目录结构,它就像便签一样单纯记录些代码片段,这些代码片段还可以嵌入到某个网页中去,而且 Gist 同样有私有和共享的区别

注意:Gist 的私有与 Github 仓库私有存在些许差异,虽然他们通过用户名访问都不可见,形如 https://gist.github.com/livejq,但是 Gist 可以通过在 URL 后加入编号进行访问,即使是私有的

Gist Settings 与 Global Settings 的区别

  • Gist Settings 保存用户设置和工作空间设置后得到一个唯一的 Gist 编号,以后如果在不同的工作空间配置了特殊的环境,则可以创建另一个 Gist 保存起来。
  • Global Settings 保存对所有 Gist 的共同设置,例如该同步哪种扩展文件/不该同步哪个目录啊诸如此类信息

有关于对 VScode 中工作空间的理解,可以浏览相关资料。写得很详细,在此不再赘述。

同步内容

Global Settings可设置忽略同步的目录、文件或插件

用户设置目录:/home/livejq/.config/Code/User

工作空间设置目录:/home/livejq/.vscode

虽然官方介绍说还可以同步 Workspaces Folder ,但我只知道可以同步所有插件及其配置,还有用户设置目录下的所有东西。

我的 Gist 保存的文件

  1. cloudSettings 保存最后更新时间和 settings sync 版本信息
  2. extensions.json 扩展插件信息
  3. keybindings.json 和 keybindingsMac.json为空(因为我绑定了 idea 的快捷键)
  4. settings.json 用户配置文件

采集每个插件的元信息,保存到 Gist 的 extensions.json 文件中,其中一个形如:

{
    "metadata": {
        "id": "e337c67b-55c2-4fef-8949-eb260e7fb7fd",
        "publisherId": "Shan.code-settings-sync",
        "publisherDisplayName": "Shan"
    },
    "name": "code-settings-sync",
    "publisher": "Shan",
    "version": "3.4.3"
}

配置

第一次配置时,在设置完令牌后,将会为你自动创建 Gist(换句话说,即使你有 Gist 编号,不填则可以为你创建另一个配置,这些配置以后可以任意选择) 。若在 Global setting 中设置了创建 Gist 时询问名称,则会让你设置,也建议这样做(多个 Gist 时容易区别) 。

申请 Github 访问 Gist 令牌

  • 进入 Github 用户设置令牌设置

  • 勾选 gist 创建权限即可

方式一:UI 设置

  • 按 Ctr + Shift + p 选 Advanced Options

  • 打开设置

  • 左边是 Gist settings,右边是 Global settings

小提示:选中输入框,按 Tab 键进行上下移动


方式二:json 文件设置

  1. Window:%APPDATA%\Code\User\
  2. Linux:$HOME/.config/Code/User/

  • Gist settings 打开 settings.json,Global settings 打开 syncLocalSettings.json

  • 我的配置

其它没有配置的则执行默认值

"sync.removeExtensions": true, # 当下载的云配置文件中没有包含此插件时则自动将其卸载
"sync.quietSync": false, # 显示同步信息
"sync.autoUpload": true, # 当本地配置有更新时自动上传到云
"sync.autoDownload": true # 每次启动VScode后自动同步云配置

如何使用

1. 上传配置: Shift + Alt + U
2. 下载配置: Shift + Alt + D
(macOS: Shift + Option + U / Shift + Option + D)

相关资料

  1. VScode官方文档之多根空间
  2. code-settings-sync
  3. 关于 VSCode 中工作区的讲解与使用工作区还你一个轻量的 VSCode
  4. Vistual Studio Code 配置
  5. Github·Gist使用攻略
留言评论
推荐阅读
  • 最新图解并详细说明GitHub中12条许可证

    概述这12条开源协议/许可证都包含(相当于Unlicense): 免责声明:即作者不承担使用后所造成的任何后果,不提供资料的可用性...

    最新图解并详细说明GitHub中12条许可证
  • README文件中的徽标该如何使用

    自定义徽标徽标由左右两块方框所组成,左边显示标签,右边显示该标签所要表达的信息。 终端模式终端模式是真正的让用户自定义徽标,只需用户提...

    README文件中的徽标该如何使用
  • 规范书写GitHub中的README

    记住:是文档,而不是代码,定义了这是一个什么项目。 概述 编写并规范README自述文件的好处 节约你我他的时间...

    规范书写GitHub中的README