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

SSH远程开发时VSCode执行命令报Invalid string length错误如何解决

错误原因
  • VSCode远程服务端中Java语言服务的工作区缓存损坏,执行清理命令时读取损坏的缓存数据触发长度校验报错
  • 工作区内存在未被排除的超大文本/二进制文件(GB级以上的日志、Dump文件、构建产物等),Java语言服务扫描索引时加载的内容超过Node.js运行环境的字符串最大长度限制
  • 本地安装的Java语言支持插件版本与远程SSH服务端的VSCode版本不兼容,执行命令时参数传递异常
解决方案
  • 手动清理Java语言服务缓存
    不需要通过VSCode命令执行清理,直接访问对应路径删除缓存目录即可:
    1. 远程主机端缓存路径:~/.vscode-server/data/User/workspaceStorage/,找到对应当前工作区的子目录,删除其中的redhat.java文件夹
    2. 本地VSCode缓存路径(可选):Windows系统为%APPDATA%\Code\User\workspaceStorage\,Mac系统为~/Library/Application Support/Code/User/workspaceStorage/,Linux系统为~/.config/Code/User/workspaceStorage/,同样删除对应工作区下的redhat.java文件夹
  • 排除工作区超大文件
    在工作区的.vscode/settings.json中添加配置,禁止Java插件扫描不需要的超大文件/目录,示例配置如下:
    {
      "files.exclude": {
        "**/*.log": true,
        "**/dump_*": true,
        "**/build": true,
        "**/target": true
      },
      "java.excludedPaths": [
        "**/*.log",
        "**/temp",
        "**/large_files",
        "**/node_modules"
      ]
    }
    
    可根据自己工作区的实际文件情况调整排除规则
  • 调整Java语言支持插件版本
    如果你当前使用的是插件预览版,切换到稳定版即可;如果是最新稳定版触发报错,可以回退到上一个可用的历史稳定版,重新连接SSH后插件会自动同步到远程服务端
  • 重置远程VSCode服务端(极端情况)
    如果以上操作都无效,可以直接删除远程主机上的整个~/.vscode-server目录,断开SSH连接后重新连接,VSCode会自动重新部署完整的远程服务端,所有缓存问题都会被清理

内容的提问来源于stack exchange,提问作者Jingcheng KOU

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 03:48:02