code runner不是装完即用的傻瓜按钮,必须先验证终端中python3--version、gcc--version等命令可执行,再按需配置executormap、启用runinterminal并确保路径权限正确。

Code Runner 是目前 VSCode 中最实用、覆盖语言最广的代码运行插件,但它不是装完点一下就能跑的“傻瓜按钮”——能否真正用起来,取决于你是否把底层环境和配置对齐了。
为什么 Code Runner 点了没反应?先查终端里 python3 --version 能不能执行
Code Runner 本身不带任何解释器或编译器,它只是把预设命令(比如 python3 -u $fileName)扔进系统 shell 执行。所以第一步永远是:打开终端,手动敲一遍对应语言的命令。
- Python 用户必须验证
python3 --version(不是python),macOS/Linux 新系统默认没有python软链 - C/C++ 用户要确认
gcc --version或g++ --version可用;Windows 用 MinGW 的,PATH 里路径不能含中文或空格(如C:\Program Files会崩) - Java 用户需同时有
javac -version和java -version,只装 JRE 不行 - Go 用户执行
go version,且注意go run $fileName要求当前目录有go.mod,否则报no Go files in current directory
code-runner.executorMap 不改等于白装
默认配置只适用于教科书式环境:系统 Python 就叫 python、C++ 编译器就叫 g++、工作目录刚好对、没虚拟环境、没包结构……现实里几乎条条不满足。
- Python 用了虚拟环境?把
"python": "python -u"改成绝对路径,例如"python": "/Users/you/project/venv/bin/python -u" - Java 有
package com.example;?默认java $fileNameWithoutExt必然失败,得写成"java": "cd $dir/../.. && javac $dir/com/example/$fileName && java com.example.$fileNameWithoutExt" - C++ 在 Windows 上运行后要加
.exe后缀:&& ./$fileNameWithoutExt.exe;Linux/macOS 则不用 - 所有变量名大小写和拼写必须严格匹配:
$dir不是$DIR,$fileNameWithoutExt少个o就变空字符串,导致命令语法错误
含 input() 的 Python 脚本一运行就卡住?必须开 code-runner.runInTerminal
Code Runner 默认把输出重定向到 Output 面板,这个面板没有 stdin 输入能力。遇到 input() 就会卡在等待输入,或直接抛 EOFError: EOF when reading a line。
- 全局启用:在设置里搜
code-runner.runInTerminal,勾选为true;每次运行会新开终端标签页 - 只给 Python 单独开:在
settings.json里配executorMap,例如"python": "python3 -u $fileName",但该命令生效的前提仍是runInTerminal: true - 顺带加
-u参数:强制未缓冲输出,避免 print() 后看不到内容
最容易被忽略的其实是路径和权限:Windows 上 MinGW 路径含空格、macOS 没给 VSCode 完全磁盘访问、Linux 下 gcc 权限被 SELinux 拦截——这些都不会报“找不到命令”,而是静默失败或一闪而过。别急着重装插件,先盯住终端里那条命令能不能手工跑通。











