Syncing

VS Code 同步插件
授权协议 MIT
开发语言 TypeScript
所属分类 插件和扩展、 Visual Studio Code 扩展
软件类型 开源软件
地区 国产
投 递 者 江德海
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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。

  • 当我们 fork 一个开源仓库之后,应该怎样将上游的仓库同步到我们的 fork 上呢? 以下文章翻译自 GitHub 的帮助文档 Syncing a fork。 同步一个仓库的 fork 可以使它和上游仓库的最新状态保持同步。 在将上游仓库同步到你的 fork 之前,你必须在 Git 上配置上游仓库的远程站点。同步的步骤如下: 打开终端 变更当前路径到你的本地工程 从上游仓库中获取分支和它们各自的

  • Syncing to the Cloud GET STARTED DEPENDENCIES AND PREREQUISITES Android 2.2 (API level 8) and higher By providing powerful APIs for internet connectivity, the Android framework helps you build rich cl

  • 在节点同步的过程中,我们经常需要执行eth.syncing来查看当前的同步情况,本篇博客带领大家看一下syncing api的源代码实现。 1 Syncing方法源代码 1. `// Syncing returns false in case the node is currently not syncing with the network. It can be up to date or h

  • 谢谢 kasim    我禁用后没有了那错误 可是出现了新错误 我不答明白是内核编译出错了还是别的什么?一下是启动信息  希望遇到过这问题的帮下忙  谢谢了 Copy linux kernel from 0x00060000 to 0x30008000, size = 0x00200000 ... done zImage magic = 0x016f2818 Setup linux paramet

  • 1. 在正确的位置烧写正确的文件系统映象: (a). 正确的位置 嵌入式开发中,常通过bootloader烧写文件系统映象,假设写在flash的地址A处。 内核启动时,显然要从地址A处读取文件系统,内核是怎么知道的呢?通过命令行参数,比如“root=/dev/mtdblock2 ”。/dev/mtdblock2 又是怎么和地址A对应上的呢?内核将flash划分为 几个分区,这是在代码中固定的。/d

  • 严格按照教程上制作了ubifs文件系统。但启动到中途出现如下的错误信息。屏幕上只显示了一个企鹅。就停住了。终端上的信息如下。 FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will b e case sensitive! FAT: utf8 is not a recommended IO char

  • 问题:在 virtual box 上安装 CentOS,出现上述问题 原因:默认512M ,内存分配太小 方法:设置中扩充内存到2G

 相关资料
  • 您可以通过 Bluetooth 连接以无线方式将数据从 Verity Sense 传输到 Polar Flow 应用。或者,您可以使用 USB 端口和 FlowSync 软件,将 Verity Sense 与 Polar Flow 网络服务同步。若要在 Verity Sense 与 Polar Flow 应用之间同步数据,您需要拥有 Polar 账户。如果您想要将 Verity Sense 上的数

  • EasyReact 是允许环形连接的,环形的连接使得多个节点可以进行同步。下面介绍关于同步的操作。 syncWith 针对于两个节点的同步,syncWith可以快速的帮我们建立两个节点的同步连接: EZRMutableNode<NSNumber *> *nodeA = [EZRMutableNode new]; EZRMutableNode<NSNumber *> *nodeB = [EZRMut

  • 要在 M600 的 Polar 应用程式、Polar Flow 移动应用程式以及 Polar Flow 网络服务之间同步数据,您需要拥有 Polar 账户。如您完成M600 的设置,则您已创建了一个账户。 自动同步训练数据 在您完成一次训练后,M600 上的 Polar 应用程式自动将您的训练及活动数据与 Polar Flow 应用程式同步。若要使用自动同步功能,您需要使用您的 Polar 账户登

  • 您可以通过 USB 端口与 FlowSync 软件或通过 Bluetooth Smart® 无线方式与 Flow 程序传输来自 A300 的数据。如要在 A300 与 Flow 网络服务和程序之间同步数据,您需要拥有 Polar 账户与 FlowSync 软件。如果您在 flow.polar.com/start中设置了 A300,说明您已创建了该账户并下载了该软件。当您开始使用 A300 时,您进

  • 分级项目同步失败,未从其他相关问题中获得答案。以下是我的详细情况。 初始同步尝试产生以下错误消息: 我有Android Studio 3.0。build.gradle文件包含以下依赖项: 根据https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html#update_gradle我需要做一些改变 首先,在

  • 请看下面给我带来麻烦的方法: 然后是run方法:

  • 我正在使用TypeORM和NestJs处理现有的MySql数据库。有一个共享表,我必须将记录插入其中,它有一个自动递增的主键。由于该表是共享的,因此已禁用“同步”。 当我使用@PrimaryGeneratedColumn装饰器设置TypeForm实体时,我得到一个错误,指出该列“没有默认值”。如果我将decorator更改为@Column,那么我将收到一个关于没有主键的错误。 谁能告诉我应该如何设

  • 问题内容: 我该如何做这项工作 我试图从异步之一获取同步功能,我需要它来使用FreeTds异步查询作为同步之一 问题答案: 使用deasync-用C ++编写的模块,它将Node.js事件循环暴露给JavaScript。该模块还公开了一个函数,该函数阻止后续代码,但不阻止整个线程,也不引起繁忙的等待。您可以将函数放入循环中: