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

VS Code在Ubuntu中创建工作区缓存的原因、运行路径问题及禁用方法

VS Code在/run/user/<用户ID>/doc创建工作区缓存的原因、目的及禁用方法

一、缓存目录的由来

这个目录并非“随机数字”,而是当前用户的UID(用户ID),属于Linux系统systemd机制下的用户临时运行目录/run/user/<UID>。VS Code选择这里创建缓存的原因:

  • 该目录基于tmpfs内存挂载,读写速度远快于磁盘,适合存储高频访问的缓存数据;
  • 用户注销时系统会自动清理该目录下的文件,不会产生残留垃圾;
  • 符合Linux桌面应用的临时文件存储规范。

二、缓存的核心目的

  • 提升操作性能:将大文件、频繁修改的文件快照缓存到内存级目录,减少磁盘IO开销,加快文件打开、语法检查、代码格式化等操作的响应速度;
  • 保护原文件:执行lint检查、调试预处理等操作时,使用缓存文件而非原文件,避免操作过程中意外修改或锁定原文件;
  • 快速恢复工作状态:缓存工作区元数据、文件状态快照,让VS Code重启或切换窗口时能快速回到之前的工作场景。

三、运行文件读取缓存而非原路径的原因

这种情况大多是VS Code内置功能或扩展(比如Python扩展)的设计逻辑导致:
以Python扩展为例,运行代码时会先将当前文件同步到缓存目录,再执行缓存文件——目的是避免原文件被其他程序锁定、或在执行过程中被修改,导致运行异常。

四、VS Code 1.77.3(Ubuntu 18.04)禁用缓存的方法

⚠️ 禁用缓存可能导致大文件、复杂工作区的操作性能下降,请谨慎操作。

方法1:修改VS Code内置设置

打开设置界面(快捷键Ctrl+,),搜索并修改以下选项:

  • 禁用文件系统缓存:将files.simpleDialog.enable设为false;
  • 针对Python扩展:将python.execution.autoReload设为false,同时将python.analysis.useLibraryCodeForTypes设为false,减少扩展对缓存的依赖。

方法2:通过启动参数禁用

修改VS Code的桌面启动快捷方式:

  1. 终端执行命令:sudo nano /usr/share/applications/code.desktop
  2. 找到Exec=开头的行,在code后添加--disable-file-system-cache参数,修改后示例:
    Exec=/usr/share/code/code --disable-file-system-cache %F
    
  3. 按Ctrl+O保存,Ctrl+X退出,重启VS Code生效。

方法3:修改用户配置文件

在~/.config/Code/User/settings.json中添加以下配置:

{
  "files.useExperimentalFileWatcher": false,
  "files.watcherExclude": {
    "**/run/user/*/doc/**": true
  },
  "python.analysis.cacheFolder": ""
}

保存后重启VS Code,该配置会让VS Code忽略缓存目录的文件监控,并清空Python扩展的缓存路径设置。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 18:23:28