code runner插件不支持一键运行整个项目,仅执行当前文件或选中代码块;常见问题包括runinterminal设为false、文件未保存、解释器路径未配置;需正确设置executormap并注意语言特异性配置。

Code Runner 插件本身不支持“一键运行整个项目”,它只负责执行当前打开的文件或选中代码块——这是绝大多数人误以为能“一键运行”的根本原因。
为什么按 Ctrl+Alt+N 没反应?
常见错误现象:code-runner.runInTerminal 被设为 false,但当前语言没配置默认解释器路径;或者文件没保存(.py/.js 等未保存时,Code Runner 会静默跳过)。
- 检查设置:搜索
code-runner.runInTerminal,确保为true(否则输出在 Output 面板,看不到报错) - 确认文件已保存(
Untitled-1类临时标签页不会运行) - Python 用户尤其注意:
python命令必须能在终端直接调用;若用 conda 或 pyenv,需在 VSCode 终端里先激活环境,再启动 VSCode(否则插件读不到 PATH)
怎么让 Python/Node.js/Go 正确运行?
不同语言依赖 code-runner.executorMap 的配置项,VSCode 默认只配了基础命令,一碰到虚拟环境、TS 编译、模块入口就失效。
- Python:建议改写为
"python -u $fullFileName"(-u关键,避免输出缓冲导致看不到 print) - Node.js:若用 ES Module,需加
--experimental-specifier-resolution=node,否则import报错 - Go:默认用
go run $fileName,但多文件项目得改成go run .,需手动覆盖配置
如何运行选中代码(不是整个文件)?
这是 Code Runner 最被低估的能力——适合调试函数片段、验证正则、快速算数,但默认快捷键和行为容易混淆。
- 先选中文本,再按
Ctrl+Alt+N(Windows/Linux)或Cmd+Option+N(macOS) - 仅支持部分语言:JavaScript、Python、PHP、Ruby、Perl、PowerShell —— Go、Rust、C++ 不行
- 选中内容会被包裹进临时脚本执行,变量不继承上下文(比如你在文件里定义了
arr = [1,2,3],选中print(len(arr))会报NameError)
真正麻烦的从来不是怎么点运行,而是搞清「当前文件到底被当成什么来执行」——是 python script.py,还是 node --eval,抑或 gcc -o tmp && ./tmp。这些细节全藏在 code-runner.executorMap 里,改错一个字符,输出就变成 /bin/sh: 1: python3: not found。











