remote-wsl扩展必须手动启用,因remote development套件不会自动激活它;首次需在扩展面板搜索并点击enable,否则执行code .或命令面板指令均无效。

必须装 Remote - WSL 扩展,且需手动启用——装完 Remote Development 套件不等于它就可用。
为什么 Remote - WSL 扩展必须单独启用
很多人以为装了 Remote Development 扩展包(含 SSH、Containers、WSL 三个子项)后,Remote - WSL 就自动激活了。事实是:VS Code 默认不会加载它,直到你第一次触发相关命令。
- 首次使用前,必须手动在扩展面板搜索
Remote - WSL,点击 Enable(不是 Install,可能显示为“已安装但禁用”) - 启用后,按
Ctrl+Shift+P输入Remote-WSL: Show Log,若能看到日志输出,说明已加载;若提示command not found,就是没启用成功 - 扩展实际安装路径在 Windows 的
$HOME\.vscode\extensions下,不是 WSL 里的/home/xxx/.vscode/extensions——后者无效
code . 在 WSL 终端里不生效的常见原因
在 WSL bash 中执行 code . 没反应、报 command not found,或弹出 Windows 版 VS Code 但不连接当前目录,基本都卡在这几步:
在 Windows 上执行终端命令,或对比 Windows 与 Linux 的 Shell 语法时使用。建议先检测当前 Shell 是 PowerShell 还是 cmd.exe,再给出相应命令……
- Windows 端 VS Code 没执行过
Shell Command: Install 'code' command in PATH(命令面板里搜这个) - 执行完上述命令后没重启 WSL:
wsl --shutdown,再重新打开终端 -
which code返回空或错误路径;正确应为/usr/bin/code;若仍找不到,可临时加到~/.bashrc:export PATH="$PATH:/mnt/c/Users/xxx/AppData/Local/Programs/Microsoft VS Code/bin"(路径按你实际安装位置调整)
打开项目时别用 /mnt/c/ 路径
直接在 VS Code 里点“打开文件夹”,选 /mnt/c/Users/xxx/project 这类 Windows 挂载路径,会导致终端无法识别 Linux 工具链、Git 权限异常、换行符混乱等问题。
- 正确做法:先用
Ctrl+Shift+P→WSL: New Window,等左下角状态栏显示WSL: Ubuntu后,再File → Open Folder,路径栏输入\wsl$\Ubuntu\home\yourname\project(Windows 路径格式),或从侧边栏“Explorer”里展开“WSL”节点找目录 - 如果项目已在 WSL
/home下,推荐直接在 WSL 终端里cd进去,再运行code . - 路径写错会触发 fallback 行为:VS Code 当作普通 Windows 编辑器打开,所有远程功能(调试、终端、Python/C++ 扩展)全部失效
devcontainer.json 里 image 和 build 别混用
写开发容器配置时,devcontainer.json 中同时出现 "image" 和 "build" 字段,VS Code 会直接报错:Cannot specify both 'image' and 'build'。
-
"image": "mcr.microsoft.com/vscode/devcontainers/python:0-3.9"表示拉取预构建镜像,快、开箱即用,适合快速启动 -
"build": { "dockerfile": "Dockerfile" }表示从本地Dockerfile构建,可控、可定制,但每次打开都要 build - 二者语义互斥,只能选其一;若
Dockerfile不在工作区根目录,记得加"context"字段指定相对路径,否则构建失败
最常被忽略的是:Remote - WSL 扩展启用状态和 code 命令注册这两步,缺一不可;而一旦走错路径(比如从 /mnt/c/ 打开),后续所有调试、终端、扩展行为都会降级为 Windows 模式,问题表象分散,但根因其实很集中。










