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

通过WinSCP打开文件时VSCode标签栏显示(deleted)问题咨询

异常成因

该问题由WinSCP的临时缓存逻辑和VSCode的文件状态监测机制冲突导致:
WinSCP调用外部编辑器时,会先将服务器目标文件拉取到本地临时缓存目录,再唤起编辑器打开该缓存文件,后续通过监听缓存文件的修改事件触发回传服务器的操作。出现(deleted)标识的核心原因是VSCode读取缓存文件时,文件尚未完成写入/已失效:

  • 双击打开文件的场景下,WinSCP未完成缓存文件的写入操作就提前唤起了VSCode,VSCode读取到不完整或尚未创建完成的文件,判定该文件已被删除,因此打上(deleted)标记。此时VSCode会将修改内容写入自身的临时存储目录,不会触发WinSCP的上传同步逻辑
  • 本地临时缓存目录存在之前使用残留的同名损坏缓存文件,VSCode读取到旧的失效缓存后,和当前WinSCP新拉取的文件路径校验不匹配,也会触发该标识

你观测到的右键手动打开无异常、删除临时目录后标识消失的现象,正好对应上述逻辑:右键点击「打开」时WinSCP已完成缓存写入,删除临时目录后旧的失效缓存被清空,VSCode都能读取到正常的缓存文件。

解决方案

方案一:调整WinSCP编辑器启动延迟(优先推荐)

  1. 打开WinSCP,进入「选项」-「选项」面板
  2. 依次进入「传输」-「编辑器」选项卡,选中你配置的VSCode编辑器条目,点击「编辑」
  3. 在弹出的配置窗口中,将「等待编辑器打开前的延迟(毫秒)」调整为500-1000,给WinSCP预留足够的缓存写入时间后再唤起VSCode

方案二:开启WinSCP缓存自动清理

在「编辑器」设置页勾选「关闭编辑器后删除临时文件」选项,避免旧缓存文件残留干扰后续文件的打开逻辑。

方案三:调整VSCode文件监听配置(临时治标)

如果需要快速解决问题,可在VSCode设置页搜索files.useExperimentalFileWatcher,关闭该实验性文件监听选项,可降低文件删除状态的误判概率。注意该方案可能影响其他本地文件的状态检测精度,仅推荐临时使用。

内容的提问来源于stack exchange,提问作者Rich John Beboso

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 07:15:02