Code Runner 装完不能运行代码,根本原因是它不自带解释器/编译器,仅调用系统命令;必须验证 python3--version、gcc--version 等在终端可执行,再正确配置 executorMap、启用 runInTerminal 并确保路径权限无误。

装完 Code Runner 插件,代码却跑不起来?不是插件坏了,而是它根本没“看到”你系统里装的 Python、gcc 或 javac —— 它只负责发命令,不负责配环境。
右键没出现 Run Code 选项
Code Runner 不会主动给任意文件加右键菜单,它严格按文件后缀识别语言。一个没保存的 Untitled-1 标签页,或者后缀是 .txt 的 Python 代码,右键永远不会有 Run Code。
- 必须先保存文件,且扩展名要匹配支持列表:
.py、.java、.cpp、.js等 - 安装插件后需重启 VS Code,或执行
Developer: Reload Window(Ctrl+Shift+P 输入) - 如果文件已保存、后缀正确、仍无菜单,检查是否在「设置」中禁用了该功能:
code-runner.showRunCommandInEditorContextMenuItem必须为true
点运行后报 command not found
这是最常被误认为“插件问题”的真实环境缺失。Code Runner 调用的是你终端里能敲出来的命令,比如 python3 --version 或 g++ --version。如果终端里都报错,插件也无能为力。
- Windows 用户装 Python 时务必勾选
Add Python to PATH;否则python命令根本不存在 - macOS/Linux 不要依赖
python,默认可能只有python3,得改配置:"python": "python3 -u" - MinGW-w64 安装路径不能含中文或空格(如
C:\Program Files\mingw64会崩),PATH 里要能直接执行g++ --version - Java 用户必须同时有
javac -version和java -version,只装 JRE 不行
Java 包声明下运行失败
package com.example; 这类声明不是装饰,它强制要求 class 文件结构和运行时 classpath 严格匹配。Code Runner 默认命令 javac Main.java && java Main 在有包声明时必然失败,因为生成的 Main.class 被放错位置。
- 临时解法:删掉
package行,用裸类快速验证逻辑 - 长期方案:修改
code-runner.executorMap中的java条目,加入编译输出目录和 classpath 控制:"java": "cd $dir && javac -d . -encoding UTF-8 $fileName && java -cp . $fileNameWithoutExt" - 注意:若源文件实际路径是
src/com/example/Main.java,则最终运行命令应为java com.example.Main,此时需手动拼类名,或改用tasks.json
输出一闪而过 / 无法输入 / 中文乱码
Code Runner 默认不打开交互式终端,而是把 stdout 直接捕获进 OUTPUT 面板 —— 这导致需要用户输入的程序卡住,或中文显示为 。
- 关键开关:
code-runner.runInTerminal必须设为true,否则所有 stdin/stdout/stderr 都被截断 - Windows CMD 默认编码是 GBK,而你的文件是 UTF-8,会导致乱码;要么改 CMD 编码(
chcp 65001),要么换用 PowerShell 或 Windows Terminal - Linux/macOS 终端一般没问题,但若用了非默认 shell(如 zsh 配了特殊 prompt),可能干扰命令执行,可临时改回 bash 测试
真正卡住人的从来不是怎么点那个 ▶ 按钮,而是搞不清 $dir 到底指哪、$fileNameWithoutExt 少个字母就变空、以及为什么终端里能跑的命令,在 Code Runner 里就找不到 —— 这些细节不验清楚,改一百遍配置也没用。


















