概述
若对 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 保存的文件
- cloudSettings 保存最后更新时间和 settings sync 版本信息
- extensions.json 扩展插件信息
- keybindings.json 和 keybindingsMac.json为空(因为我绑定了 idea 的快捷键)
- 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 创建权限
VSCode 设置
方式一:UI 设置
按 Ctr + Shift + p 选 Advanced Options
打开设置
左边是 Gist settings,右边是 Global settings
小提示:选中输入框,按 Tab 键进行上下移动
方式二:json 文件设置
- Window:%APPDATA%\Code\User\
- 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)
评论区