Syncing (源码) 是一个 VSCode 扩展,它能在多台设备之间同步您的所有 VSCode 配置(借助了 GitHub Gist)。
我的目标是始终让它保持简单可靠,所以提需求别太过分啊 :)
Syncing 可以在本地和云端之间同步您的所有 VSCode 配置
,包括:
-
上传 VSCode 配置:
- 包括您的
用户设置
,快捷键
,扩展
,语言设置
以及所有代码片段(Snippets)
; - 因为
Mac
和非 Mac
设备的配置通常会有一些差异,所以快捷键
将会按照操作系统的不同分别上传; - 自动帮您创建新的
Gist
来保存 VSCode 配置,例如当您第一次使用这个扩展上传配置时; - 为了加快同步速度,整个同步过程都是
增量
的; - 您可以
排除某些 VSCode 配置项和扩展
,以防它们被上传,具体请参考这里。
- 包括您的
-
下载 VSCode 配置:
另外,如果您访问 GitHub 有困难(万恶的墙),您可以配置一个代理来加速同步。当然,您也可以开启自动同步来进一步简化同步过程!
在 VSCode 的命令面板
中,您可以输入 upload
、download
(或者 syncing
)来快速搜索和执行 Syncing
的所有命令。
-
Syncing: Upload Settings
上传配置到 GitHub Gist。
-
Syncing: Download Settings
从 GitHub Gist 下载配置。
-
Syncing: Open Syncing Settings
设置
GitHub Personal Access Token
、Gist ID
或代理
。
默认情况下所有的快捷键都是关闭的,但是您可以很轻松的在 VSCode 键盘快捷方式
中指定您想要的快捷键:
-
如果您的 VSCode 版本
高于 1.11
(这是可视化的配置,强烈推荐): -
如果您的 VSCode 版本
低于 1.11
,那就只能手动配置啦,参考一下:{ "key": "alt+cmd+u", "command": "syncing.uploadSettings" }, { "key": "alt+cmd+d", "command": "syncing.downloadSettings" }, { "key": "alt+cmd+s", "command": "syncing.openSettings" }
您可以在 VSCode 用户设置
中找到以下 Syncing
配置项。
-
syncing.excludedExtensions
通过这个配置项,您可以
排除特定的 VSCode 扩展
,以防它们被同步。那些不在此列表中的 VSCode 扩展将不受影响,依然会正常同步。配置规则可以参考 Glob Patterns。
举个栗子:
"syncing.excludedExtensions" : [ "somepublisher.*", "nonoroazoro.syncing" ]
要注意的是,这里被排除的
扩展名称
其实是扩展的 ID
(可在 VSCode 的扩展
页中找到),如下图所示:这样一来
nonoroazoro.syncing
(也就是本扩展)以及所有属于somepublisher
这个作者的扩展就不会再被同步啦。 -
syncing.excludedSettings
通过这个配置项,您可以
排除特定的 VSCode 配置项
,以防它们被同步。那些不在此列表中的 VSCode 配置项将不受影响,依然会正常同步。配置规则可以参考 Glob Patterns。
举个栗子:
"syncing.excludedSettings" : [ "editor.*", "workbench.colorTheme" ]
这样一来您的 VSCode 主题(
workbench.colorTheme
)以及所有与编辑器(editor
)相关的配置项就不会再被同步啦。 -
syncing.extensions.autoUpdate
通过这个配置项,可以让
Syncing
在同步时自动升级您的 VSCode 扩展。这个功能是
默认开启
的,当然您也可以在VSCode 用户设置
中关掉它。 -
syncing.pokaYokeThreshold
通过配置这个阈值,每次同步配置时,
Syncing
都会检查您的本地和云端配置间的差异量。如果超出这个阈值,就会显示一个确认对话框,以防错误的覆盖您的配置。这个配置项的默认值是
10
。您可以将其设置为0
来关闭这个功能(不再检查和显示确认对话框)。举个栗子:
"syncing.pokaYokeThreshold" : 10
-
syncing.separateKeybindings
通过这个配置项,可以决定是否让
Syncing
按照设备操作系统
的不同来分开同步您的快捷键
配置。鉴于
VSCode
从1.27
版本开始提供了 Platform Specific Keybindings 功能,您现在可以关闭这个功能。注意:在关闭该功能之前,请务必确保您已经手动合并了现有的快捷键
配置。这个功能是
默认开启
的。您可以在VSCode 用户设置
中关掉它。
如果您访问 GitHub 有困难,比如在国内有万恶的墙,您可以配置一个代理来加速同步,具体步骤如下:
-
在
VSCode 的命令面板
中输入Syncing: Open Syncing Settings
(或者opensync
)来打开Syncing
自己的配置文件(即syncing.json
文件); -
修改
http_proxy
的值,例如:"http_proxy": "http://127.0.0.1:1080"
大功告成!另外,如果您不想在这里配置代理,那么 Syncing
也会尝试从系统环境中读取 http_proxy
和 https_proxy
作为代理设置。
注意:不同于那些保存在 VSCode 用户设置中的
Syncing
配置项,这个独立的配置文件并不会被同步,因为里面保存了您的私人信息。
Syncing 现在支持配置自动同步了,具体步骤如下:
-
在
VSCode 的命令面板
中输入Syncing: Open Syncing Settings
(或者opensync
)来打开Syncing
自己的配置文件(即syncing.json
文件); -
启用
"auto_sync"
配置,例如:"auto_sync": true
-
重新加载或重启 VSCode。
-
创建您自己的
GitHub Personal Access Token
(总共 3 步):-
登录到您的 GitHub Personal Access Tokens 页面,点击
Generate new token
; -
指定一个
name
,然后勾选gist
,最后点击Generate token
; -
点击
Copy
并且备份
您的 Token。
-
-
同步您的 VSCode 配置:
在第一次使用时,
Syncing
会向您询问一些必要的信息并保存下来以供后续使用,主要就是前面申请的GitHub Personal Access Token
啦。-
上传配置
-
在
VSCode 的命令面板
中输入upload
; -
填写刚才申请的
GitHub Personal Access Token
; -
在下拉框中选择或者手动输入一个
Gist ID
;您可以留空,那样的话
Syncing
会自动帮您创建一个新的Gist
。 -
完成!
-
在上传完成后,您可以在 GitHub Gist 中找到对应的
Gist
和Gist ID
。当然您也可以通过Edit
和make it public
操作将您的配置共享给其他人。
-
-
下载配置
-