WSL及WSL扩展环境下VS Code复制完整文件路径及code .异常求助
问题:VS Code配合WSL2复制文件路径丢失
file://wsl%24/前缀,且禁用WSL扩展后code .失效 需求
复制WSL2中文件路径时,希望保留file://wsl%24/Ubuntu-20.04/前缀,当前复制结果为/home/fernando/repos/odin-recipes/index.html类型的本地绝对路径;同时解决禁用WSL扩展后code .命令报错的问题。
已尝试操作
- 在用户、远程[WSL: Ubuntu-20.04]、工作区层面启用
Editor: Copy With Syntax Highlighting设置 - 禁用所有扩展
- 将VS Code重置为默认设置
当前环境版本
- VS Code: 1.78.2
- WSL: Version 2, Ubuntu-20.04
- WSL extension: v0.78.8
解决方案
1. 恢复带file://wsl%24/前缀的路径复制
VS Code的远程路径复制行为由remote.copyFileUrl设置控制,按以下步骤调整:
- 打开VS Code设置(快捷键
Ctrl+,) - 在设置搜索框输入
remote.copyFileUrl - 切换到**远程[WSL: Ubuntu-20.04]**的设置标签页,将该选项勾选为
true - 保存设置后,右键文件选择「复制路径」,或通过命令面板(
Ctrl+Shift+P)执行Copy Path命令,即可生成带file://wsl%24/Ubuntu-20.04/前缀的路径
2. 解决禁用WSL扩展后code .报错问题
安装WSL扩展后,WSL环境中的code命令由扩展自动注册;禁用扩展后该注册脚本失效,可手动添加别名修复:
- 在WSL终端中编辑shell配置文件,bash用户执行:
zsh用户执行:nano ~/.bashrcnano ~/.zshrc - 在文件末尾添加以下内容(默认VS Code安装路径,若自定义安装需对应调整):
alias code='/mnt/c/Program\ Files/Microsoft\ VS\ Code/bin/code' - 保存并退出编辑器,执行以下命令使配置生效:
(zsh用户执行source ~/.bashrcsource ~/.zshrc) - 此时即使禁用WSL扩展,在WSL终端执行
code .也能正常打开Windows下的VS Code并加载当前目录
内容的提问来源于stack exchange,提问作者Fernando
相关产品推荐
相关产品推荐

