nonoroazoro / vscode-syncing

:zap: VSCode Extension - Sync all of your VSCode settings across multiple devices.
https://marketplace.visualstudio.com/items?itemName=nonoroazoro.syncing
Other
490 stars 30 forks source link

下载配置的时候,卡死 #19

Closed aQuaYi closed 7 years ago

aQuaYi commented 7 years ago

Specifications

Actual Behavior

下载配置的时候卡死了,显示以下信息 syncing

我在插件栏,搜索了 这个插件,发现没有被安装。就手动安装了一下,再次下载配置就好了。 但是实际上,在下载配置前,我肯定安装了这个插件了的。

PS:刚刚我又测试了一下,会随机地卡死在某个插件。我在插件栏搜索那个插件的话,会显示为未安装。

PS2:刚刚我还测试了一下,上传后,马上下载,很顺利。所以,我猜想,是不是 remote 的插件版本号比 local 的低的时候,会重新下载安装。

nonoroazoro commented 7 years ago

@aQuaYi 是的,插件会同步精确版本。只要远端和本地不一致,都会重新安装。

不过卡死是不应该出现的。我想知道精确描述,这里你遇到的卡死是指进度条再也不动了,后续插件也都没装上去,还是其他什么状况?

P.S. 我试着安装了这个 gitlens 插件,同步都正常,我这没有复现(win, mac, ubuntu 16)都测试了一遍。

aQuaYi commented 7 years ago

syncing @nonoroazoro 卡死的意思是

  1. VSCode 的状态栏一直呈现上图中的样子,时间可以长达一个多小时,除非我关闭 VSCode。
  2. 其中图中 "[1/5]" 左边的贪食蛇一直在转圈圈
  3. 这个正在 downloading 的插件,在我的插件栏中,显示为未安装
aQuaYi commented 7 years ago

@nonoroazoro 我刚刚试了一下在 gist.github.com 把某个插件的版本号改小,然后再下载配置。 可是,还是成功了,没有卡死。所以,我猜想,这个问题也可能和我的网络环境有关。

不过,版本号不同,就删除插件重装是必须的吗?插件的具体版本,可以由插件系统来负责的呀。

nonoroazoro commented 7 years ago

@aQuaYi 我估计和网络关系比较大的 😸 (VSCode Marketplace 和 Github Gist 的连接在国内都不太稳)。

关于版本问题,之所以同步精确版本,是因为当初考虑了几个地方:

  1. 有些时候需要特定版本的插件,而非最新版本。(这个是由工作环境导致的,新版本插件有时候反而无法正常工作,而在 VSCode Marketplace 中想要回滚版本是比较困难的)。

  2. 早期 VSCode 并没有自动升级插件的功能,假设我有 2 台设备,A 设备已经手动更新至最新版,那么在用 Syncing 同步到 B 设备上时,是不能自动升级至最新版的(因为没有精确同步版本号),需要手动更新。

这个精确同步就像鱼和熊掌不能兼得一样,有好有坏。不过,我更喜欢现在的样子,因为用 Syncing 可以完全、准确地控制整个 VSCode 环境,这也是我开发的重要目标之一 :rofl: 。

nonoroazoro commented 7 years ago

@aQuaYi 如果没有问题的话,我就关掉啦。