WSL Ubuntu在VSCode打开Git目录时生成重复文件问题求助
WSL Ubuntu 22 + VSCode 打开文件生成带奇怪编码后缀的重复文件问题解决
这种问题确实有不少开发者遇到过,它和WSL与Windows的文件系统交互、VSCode的WSL扩展同步机制,以及Git的换行符配置都有关系——Git目录场景下更容易触发,但并非仅Git目录才会出现。以下是经过验证的解决方法:
1. 调整Git换行符配置
Git的自动换行符转换是常见诱因,在WSL终端执行以下命令修改全局配置:
git config --global core.autocrlf false git config --global core.eol lf
这样可以避免Git在Windows和Linux文件系统间自动转换换行符,减少VSCode同步文件时产生的临时文件残留。如果仅针对单个项目,去掉--global参数在项目目录执行即可。
2. 优化VSCode WSL扩展设置
- 打开VSCode设置(快捷键
Ctrl+,),搜索并开启wsl.fileWatcher.polling,启用轮询式文件监听,避免WSL与Windows文件系统的监听机制冲突。 - 搜索
files.watcherExclude,添加以下规则排除临时文件:"files.watcherExclude": { "**/.git/**": true, "**/*.*.{[0-9a-f]{8}}": true } - 确保VSCode的WSL扩展是最新版本,旧版本存在已知的文件同步bug,更新后可修复部分异常。
3. 清理VSCode WSL同步缓存
在WSL终端执行命令清理Windows侧的VSCode远程缓存:
sudo rm -rf /mnt/c/Users/你的Windows用户名/AppData/Local/Temp/vscode-remote-wsl*
清理完成后重启VSCode和WSL(Windows终端执行wsl --shutdown再重新打开),可解决缓存损坏导致的重复文件问题。
4. 配置WSL文件系统挂载参数
创建或编辑WSL的/etc/wsl.conf文件,添加以下内容:
[automount] options = "metadata,umask=0022,fmask=0133" mountFsTab = false
保存后执行wsl --shutdown重启WSL,优化WSL与Windows文件系统的交互权限和编码处理,减少文件异常生成。
以上方法中,前两步是最常用的解决手段,多数用户调整后即可消除重复文件问题。
内容的提问来源于stack exchange,提问作者Harry
相关产品推荐
相关产品推荐

