SyncingVS Code 同步插件

联合创作 · 2023-09-28

Syncing 是一个 VSCode 扩展,它能在多台设备之间同步所有 VS Code 配置(借助了 GitHub Gist)。

重要变更

  •  3.0.0 版本开始:

    1. 支持配置自动同步(终于...),以下是简单步骤:

      1. 免责声明:启用自动同步后,在某些情况下可能会导致您错误地覆盖配置文件(参考这里的讨论),因此在继续之前,请务必确认您是否真的需要启用该功能;

      2. 在后续操作之前,强烈推荐您执行一次下载配置以便让自动同步功能更好地工作;

      3. 打开 Syncing 的配置文件(不知道如何打开?)并启用 auto-sync,例如:

        "auto_sync": true
      4. 重新加载或重启 VSCode,大功告成!

      最后,别忘了设置您的 Github Personal Access Token  Gist ID,否则自动同步功能将不会工作。

功能

Syncing 可以在本地和云端之间同步您的所有 VSCode 配置,包括:

  1. 上传 VSCode 配置:

    • 包括您的用户设置快捷键扩展语言设置以及所有代码片段(Snippets)
    • 因为 Mac 非 Mac 设备的配置通常会有一些差异,所以快捷键将会按照操作系统的不同分别上传;
    • 自动帮您创建新的 Gist 来保存 VSCode 配置,例如当您第一次使用这个扩展上传配置时;
    • 为了加快同步速度,整个同步过程都是增量的;
    • 您可以排除某些 VSCode 配置项和扩展,以防它们被上传,具体请参考这里
  2. 下载 VSCode 配置:

    • 请注意,下载配置时会覆盖您的本地配置(以云端为准,精确同步);
    • 自动帮您安装升级删除扩展;
    • 您可以从一个公开的 Gist 中下载配置。例如,下载您朋友分享的配置,只要问他要一个 Gist ID 就行了,具体请参考这里
    • 您可以排除某些 VSCode 配置项和扩展,以防它们被下载,具体请参考这里

另外,如果您访问 GitHub 有困难(万恶的墙),您可以配置一个代理来加速同步。当然,同步时的进度条肯定有的咯!

命令

 VSCode 的命令面板中,您可以输入 uploaddownload(或者 syncing)来快速搜索和执行 Syncing 的所有命令。

  1. Syncing: Upload Settings

    上传配置到 GitHub Gist。

  2. Syncing: Download Settings

    从 GitHub Gist 下载配置。

  3. Syncing: Open Syncing Settings

    设置 GitHub Personal Access TokenGist ID 代理

快捷键

默认情况下所有的快捷键都是关闭的,但是您可以很轻松的在 VSCode 键盘快捷方式中指定您想要的快捷键:

  1. 如果您的 VSCode 版本高于 1.11(这是可视化的配置,强烈推荐):

  2. 如果您的 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 配置项。

  1. syncing.excludedExtensions

    通过这个配置项,您可以排除特定的 VSCode 扩展,以防它们被同步。那些不在此列表中的 VSCode 扩展将不受影响,依然会正常同步。

    配置规则可以参考 Glob Patterns

    举个栗子:

    "syncing.excludedExtensions" : [
        "somepublisher.*",
        "nonoroazoro.syncing"
    ]

    要注意的是,这里被排除的扩展名称其实是扩展的 ID(可在 VSCode 的扩展页中找到),如下图所示:

    exclude extensions

    这样一来 nonoroazoro.syncing(也就是本扩展)以及所有属于 somepublisher 这个作者的扩展就不会再被同步啦。

  2. syncing.excludedSettings

    通过这个配置项,您可以排除特定的 VSCode 配置项,以防它们被同步。那些不在此列表中的 VSCode 配置项将不受影响,依然会正常同步。

    配置规则可以参考 Glob Patterns

    举个栗子:

    "syncing.excludedSettings" : [
        "editor.*",
        "workbench.colorTheme"
    ]

    这样一来您的 VSCode 主题(workbench.colorTheme)以及所有与编辑器(editor)相关的配置项就不会再被同步啦。

  3. syncing.extensions.autoUpdate

    通过这个配置项,可以让 Syncing 在同步时自动升级您的 VSCode 扩展。

    这个功能是默认开启的,当然您也可以在 VSCode 用户设置 中关掉它。

  4. syncing.pokaYokeThreshold

    通过配置这个阈值,每次同步配置时,Syncing 都会检查您的本地和云端配置间的差异量。如果超出这个阈值,就会显示一个确认对话框,以防错误的覆盖您的配置。

    这个配置项的默认值是 10。您可以将其设置为 0 来关闭这个功能(不再检查和显示确认对话框)。

    举个栗子:

    "syncing.pokaYokeThreshold" : 10
  5. syncing.separateKeybindings

    通过这个配置项,可以决定是否让 Syncing 按照设备操作系统的不同来分开同步您的快捷键配置。

    鉴于 VSCode  1.27 版本开始提供了 Platform Specific Keybindings 功能,您现在可以关闭这个功能。注意:在关闭该功能之前,请务必确保您已经手动合并了现有的快捷键配置。

    这个功能是默认开启的。您可以在 VSCode 用户设置 中关掉它。

代理设置

如果您访问 GitHub 有困难,比如在国内有万恶的墙,您可以配置一个代理来加速同步,具体步骤如下:

  1.  VSCode 的命令面板中输入 Syncing: Open Syncing Settings(或者 opensync)来打开 Syncing 自己的配置文件(即 syncing.json 文件);

  2. 修改 http_proxy 的值,例如:

    "http_proxy": "http://127.0.0.1:1080"

大功告成!另外,如果您不想在这里配置代理,那么 Syncing 也会尝试从系统环境中读取 http_proxy  https_proxy 作为代理设置。

注意:不同于那些保存在 VSCode 用户设置中的 Syncing 配置项,这个独立的配置文件并不会被同步,因为里面保存了您的私人信息。

配置自动同步

Syncing 现在支持配置自动同步了,具体步骤如下:

  1.  VSCode 的命令面板中输入 Syncing: Open Syncing Settings(或者 opensync)来打开 Syncing 自己的配置文件(即 syncing.json 文件);

  2. 启用 "auto_sync" 配置,例如:

    "auto_sync": true
  3. 重新加载或重启 VSCode。

浏览 4
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报