code . 命令在 WSL 中无效,需先在 Windows 版 VSCode 中执行“Shell Command: Install 'code' command in PATH”,再运行 wsl --shutdown 重启终端,并验证 which code 返回 /usr/bin/code;若失败则手动添加 Windows 中 VSCode bin 路径到 ~/.bashrc。

code . 命令没反应?先确认 PATH 和 WSL 初始化状态
在 WSL 终端里敲 code . 却提示 command not found,不是插件没装好,而是 Windows 端的 code 命令根本没注册进 WSL 的环境变量。VSCode 安装时勾选“Add to PATH”只影响 Windows,对 WSL 无效。
- 必须在 Windows 版 VSCode 中执行一次 Command Palette → Shell Command: Install 'code' command in PATH
- 执行完立刻运行
wsl --shutdown,再重新打开 WSL 终端(不能只关终端窗口) - 验证:输入
which code,应返回/usr/bin/code;若仍为空,手动在~/.bashrc末尾加一行:export PATH="$PATH:/mnt/c/Users/你的用户名/AppData/Local/Programs/Microsoft VS Code/bin"(路径需按实际调整)
Ctrl+Shift+P 里搜不到 WSL 相关命令?检查扩展是否启用在正确上下文
即使已安装 Remote - WSL 扩展,也可能因启用位置不对而无法调用命令。VSCode 的扩展分“本地”和“WSL”两类,Remote - WSL 必须在 WSL 上下文中激活才生效。
- 确保当前 VSCode 窗口右下角显示
WSL: Ubuntu(或你用的发行版名),否则 Ctrl+Shift+P 搜到的 WSL 命令是灰色不可用的 - 如果没连接上,别直接点“Open Folder”,先手动触发连接:Ctrl+Shift+P → 输入
WSL: Connect to WSL或WSL: New Window - 扩展面板中,Remote - WSL 应显示在“WSL”标签页下,而不是“Local”——若错装在 Local 下,卸载后重装并重启 VSCode
想快速打开 /mnt/c/ 下的项目?别直接用 File → Open Folder
从 Windows 资源管理器拖文件夹进 VSCode,或用 File → Open Folder 选 /mnt/c/Users/xxx/project,会导致终端、调试器、Git 全部走 Windows 工具链,失去 WSL 的编译/运行能力——这不是“连上了 WSL”,只是在 Windows 里编辑 Linux 文件。
- 正确做法:先确保已连接 WSL(右下角有 WSL 标识),再用 Ctrl+Shift+P →
WSL: Open Folder in WSL,然后路径栏输入/home/xxx/project(Linux 路径) - 若项目确实在 Windows 盘,可在 WSL 终端中
cd /mnt/c/Users/xxx/project,再执行code .(前提是code命令已生效) - 避免使用
/mnt/c/开头的路径直接打开——VSCode 会误判为 Windows 工作区,Python 解释器、C++ 编译器等全挂
F6 快捷键编译失败?makefile 路径和上下文必须匹配 WSL 环境
在 WSL 项目里按 F6 报错 make: *** No targets. Stop.,大概率是快捷键发送的命令没进 WSL 终端,或者 makefile 不在当前工作目录。
- 快捷键配置中的
text字段必须用 Linux 路径,例如"make -f /home/xxx/project/Makefile",不能写C:\Users\xxx\project\Makefile - 确保快捷键绑定在“Terminal”上下文,而非通用上下文:VSCode 设置 → Keyboard Shortcuts → 右键对应快捷键 → “When” 条件设为
terminalFocus - 更稳的做法:不依赖快捷键发命令,直接在集成终端(Ctrl+`)里 cd 到项目根目录,再手动敲
make——能立刻看到报错在哪一行,比黑盒快捷键更容易排查
真正卡住人的从来不是“怎么连”,而是“连上之后命令跑在哪”。WSL 的终端、Git、编译器、Python 解释器,全得在 Linux 环境里跑才有意义;一旦路径、PATH、上下文三者有一处错位,VSCode 就会悄悄退回到 Windows 模式,你还以为自己在 WSL 里。


















