SyncingVS Code 同步插件
Syncing 是一个 VSCode 扩展,它能在多台设备之间同步所有 VS Code 配置(借助了 GitHub Gist)。
重要变更
-  
从 3.0.0 版本开始:
 
功能
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 配置项
您可以在 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。
 
