You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code v1.21.0中SFTP v1.1.2无法访问配置报错咨询

解决VS Code SFTP扩展报错「Cannot read property 'length' of undefined」

我之前也踩过这个一模一样的坑,折腾了好一会儿才搞定,给你几个靠谱的排查和解决方向:

  • 检查SFTP配置文件的语法正确性
    这个报错90%的概率是你的sftp.json配置文件存在语法或结构错误,尤其是数组类型的字段格式不对。最常见的问题出在ignore字段——它要求是一个数组,哪怕没有需要忽略的文件,也得写成"ignore": [],不能留空或者省略括号。
    给你一个标准的正确配置示例,你可以对照着修改:

    {
      "name": "Ubuntu Server",
      "host": "你的服务器IP地址",
      "protocol": "sftp",
      "port": 22,
      "username": "你的服务器用户名",
      "password": "你的登录密码(或者填写私钥路径:\"privateKey\": \"/Users/xxx/.ssh/id_rsa\")",
      "remotePath": "/home/你的用户名/目标项目目录",
      "ignore": [".vscode", ".git", ".DS_Store"],
      "uploadOnSave": true
    }
    

    写完后可以查看VS Code里的红色波浪线,或者用JSON校验方式确认没有漏写逗号、括号不匹配的问题。

  • 调整SFTP扩展版本适配旧版VS Code
    你用的VS Code是v1.21.0,版本比较老旧,而最新版的SFTP扩展已经不再兼容这么老的VS Code版本了。建议你降级SFTP扩展到匹配的版本:

    1. 在VS Code的扩展面板找到SFTP插件,点击右下角的齿轮图标
    2. 选择「Install Another Version...」
    3. 挑选一个2.x系列的版本(比如2.11.13),安装完成后重启VS Code再尝试连接。
  • 验证服务器端SFTP服务是否正常
    先排除服务器端的问题:打开本地终端,手动用SFTP连接服务器,执行命令:

    sftp 你的用户名@服务器IP
    

    如果终端能正常连接并操作文件,说明服务器端没问题;如果连不上,检查服务器的openssh-server是否安装,然后查看/etc/ssh/sshd_config里是否存在这一行:

    Subsystem sftp /usr/lib/openssh/sftp-server
    

    没有的话添加进去,然后重启ssh服务:sudo systemctl restart sshd。

  • 重置SFTP配置文件
    有时候配置文件的缓存会出问题,你可以先删除项目根目录下.vscode文件夹里的sftp.json,然后重新通过SFTP扩展的「Config」引导功能生成新的配置文件,跟着向导一步步填写信息,避免手动输入出错。

内容的提问来源于stack exchange,提问作者Johan Stiven Hernandez Osorio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:08:50