code .命令无效99%是PATH未生效,需先用which code或where code验证,再通过VSCode的Shell Command命令注册PATH,改完必须新开终端且彻底重启VS Code。

code . 命令无效,99% 是 PATH 没生效,不是 VS Code 没装好。
code 命令报 command not found?先验证 PATH 是否注册成功
终端里敲 code --version 没输出,就别试 code . 了。这不是命令写错了,而是系统根本找不到 code 可执行文件。
- Windows:安装时勾选了「Add to PATH」也不保险——组策略、便携版、重装残留都可能让它失效;解决方法是:在已运行的 VS Code 中按
Ctrl+Shift+P,输入并执行Shell Command: Install 'code' command in PATH - macOS/Linux:必须在 VS Code 图形界面中执行上述命令;WSL 用户注意:
code是 Windows 主机命令,在 WSL 的 Linux shell 里直接调用必然失败,得用Remote - WSL扩展配合 - 改完 PATH 后,必须关掉所有终端窗口,新开一个再试——zsh/iTerm2 用户最容易卡在这步超过 20 分钟
- 快速定位:用
which code(macOS/Linux)或where code(PowerShell)直接查路径,比猜更可靠
code . 打开空窗口,不是项目?检查路径和符号链接
code . 成功执行 ≠ 当前目录被识别为工作区。常见现象是左下角显示 No folder opened,资源管理器一片空白。
- 路径末尾多斜杠:
code ./或code /path/to/project/会导致某些版本解析异常,去掉末尾/ - 目标路径是符号链接、网络驱动器(如
Z:)、UNC 路径(\servershare),VS Code 对这类路径支持不稳定 - 当前目录下没有
.git、package.json等“项目标识文件”,虽不影响功能,但 UI 提示弱化,容易误判 - 验证是否真打开了工作区:看左下角状态栏,有文件夹图标和路径才对;否则手动点
File → Open Folder…补救,或退出后重试
想用 conda 环境启动?必须在激活后执行 code
多个 Python 项目依赖不同 conda 环境时,直接 code . 很可能让 VS Code 自动选错解释器——它不继承终端环境,只按默认逻辑扫描 venv 或全局 Python。
- 正确做法是:在已配置 conda 的终端中执行
conda activate my_env && code . - 确保
my_env中已安装python和ipykernel,否则 VS Code 无法识别该环境为有效 Python 解释器 - 不要
code .启动后再手动切换解释器——有时插件缓存导致选择项不刷新,必须重启窗口才生效 - 注意:
conda activate必须在同一个 shell 进程中完成;写成两行命令(比如先conda activate,再新开终端输code .)会失效
终端能打开,但 node/npm 找不到?问题不在 VS Code,而在 shell 加载模式
node 在系统终端能用,但在 VS Code 终端里报 command not found,本质是环境变量没继承过来——VS Code 默认以非登录 Shell 启动终端,跳过 ~/.zshrc 或 ~/.bash_profile 加载。
- macOS/Linux:在
settings.json中找到terminal.integrated.profiles.osx或terminal.integrated.profiles.linux对应的 shell 条目,添加"args": ["-l"](-l表示 login shell) - 改完后必须彻底退出 VS Code(macOS Dock 右键「退出」,Windows 任务管理器确认
Code.exe已结束),再重开——只关终端无效 - Windows PowerShell:若报
execution of scripts is disabled,临时允许当前用户执行脚本:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser;更稳方案是把默认终端改成Command Prompt - 验证是否生效:在 VS Code 终端中运行
echo $0(zsh)或shopt login_shell(bash),输出带-或zsh前缀才表示已加载配置
最常被忽略的其实是「PATH 生效后必须新开终端」和「改完 shell profile 必须彻底重启 VS Code」这两步——它们不报错,但会让所有后续配置白忙活。


















