当前没有源代码管理提供程序进行注册 scanning folder for git repositories 没有注册配置remote.SSH.remotePlatform因此无法写入用户设置问题解决

问题描述

使用Windows平台的VScode,利用Remote-SSH插件连接远程Ubuntu服务器,拉取Gerrit仓库,出现问题如下:

  1. 远程连接SSH速度特别慢,通常要5分钟以上
  2. 连接上去之后无法使用git,注意这里的git是@builtin插件,不是需要安装的插件,环境很干净
  3. git显示内容一开始为当前没有源代码管理提供程序进行注册,当彻底连接完毕之后,显示内容变为:
  4. scanning folder for git repositories...,并且一直卡顿于此

问题原因

  1. 第一个问题首先尝试其他的ssh工具,发现连接并没有问题,排除网路连接的问题,聚焦于VScode的插件问题以及VScode本身的问题
  2. 查看SSH过程中的日志信息,发现:Failed to write 'remote.SSH.remotePlatform': Error: 没有注册配置 remote.SSH.remotePlatform,因此无法写入 用户设置。
  3. 定位于连接配置文件,于是:首选项-设置-setting,找到setting.json,查看内容
  4. 没想到是中文插件的问题???

问题解决

  1. 离线安装远程的SSH工具,注意版本需要和VScode保持一致,可以在Windows下下载,放置于远程的.vscode-server/bin下面,解压,并且重命名为VScode的Commit(一串序列号)
  2. 上一步如果自动安装了的话,可以尝试删除整个.vscode文件夹,重新连接远程
  3. 测试git本身是否有问题,将文件夹设置为安全文件夹:
# 项目目录
git config --global --add safe.directory 'path/to/repo'

# 全部,不推荐
git config --global --add safe.directory *
  1. 发现不起作用的话,在插件中找到Git,禁用,再启用,同时结合重新连接的操作,看能否成功
  2. 聚焦于SSH的日志信息,定位设置无法写入的问题,重新查询,更改setting.json文件内容,具体如下:
{
    "remote.downloadExtensionsLocally": true,
    "remote.SSH.remotePlatform": {
        "你的主机名": "linux"
    }
}

上面那行不知道是否有用,看到有博客:VSCODE-SSH-REMOTE一直显示【正在连接远程】 连接缓慢提到就加了,没有测试。我之前文件里有另一个主机的名字,看错了以为已经添加了,可能和这个也有关系。
【已测试】上面那句只能避免SSH的LOG报错,卡顿依旧存在;切换为英语之后,不论是否在上面那行,一样不卡顿连接远程服务器

  1. 打算切换为英文重新查询问题,发现切换为英文之后一切问题都被解决了!!!

参考资料

  • Github Issue
  1. Source control stuck at “Scanning workspace for git repositories” when connecting to remote maching using Remote SSH

  2. VS Code not detecting git repository after update

  3. Unable to write to User Settings because remote.SSH.remotePlatform is not a registered configuration in embedded systems remote.

  • StackOverFlow
  1. Why vscode don’t recognize my .git folder?
  2. Can’t connect VS Code to Linux machine for remote development
  • reddit
  1. Source Control stuck on “Scanning folder for git repositories”
  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值