概述

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使用攻略
留言评论
推荐阅读
  • 群晖如何设置Root密码

    开工群晖内部许多设置都需要使用root用户身份才能修改,为此,需要知道其密码。 步驟1 群晖是利用`admin`用户设置root密码的...

    群晖如何设置Root密码
  • 如何阻止群晖自动更新

    前言由于我们的是hei群晖,若更新系统,则很可能无法正常使用。要想阻止群晖自动更新,关键是得让update.synology.com无...

    如何阻止群晖自动更新
  • 记忆的秘密

    触发具体事例就不说了,有点傻。举个类似的例子:微信上收到一则消息,算是上级的重要通知,必须牢记并准时完成。具体内容有以下几点: 今天...

    记忆的秘密