code runner 需手动配置才能正确运行多语言代码:它不自带解释器/编译器,依赖系统环境;须检查命令路径、修正 executormap、设置工作目录与环境变量,并重启 vscode 生效。

Code Runner 能跑 40 多种语言,但默认只配了最基础的几套命令——不手动改配置,Python 可能用错解释器,C++ 不链接标准库,Go 会找不到 go 命令,Node.js 项目里 require 报错更是家常便饭。
为什么 run code 按钮点了没反应,或者报 command not found
Code Runner 本身不自带编译器/解释器,它只是调系统已有的命令。如果终端里直接敲 python3 或 gcc 报错,那 Code Runner 也一样失败。
- 先在 VSCode 集成终端里运行
which python3(macOS/Linux)或where python(Windows),确认路径存在且可执行 - 检查
settings.json里的code-runner.executorMap是否覆盖了你当前文件后缀,比如.py对应的命令是不是写成了python,而你本地只有python3 - Windows 用户特别注意:PowerShell 默认禁用脚本执行,
code-runner.runInTerminal设为true后可能卡住,建议改用cmd或关掉该选项
如何让 C/C++ 正确链接头文件和静态库
默认的 gcc 命令只编译单文件,一旦用了 #include "xxx.h" 或需要 -lm,就会报 fatal error: xxx.h: No such file or directory。
- 在
settings.json中重写cpp的 executorMap,把编译和链接拆开,例如:"cpp": "cd $dir && g++ $fileName -I./include -L./lib -o $fileNameWithoutExt.out $fileName && ./$fileNameWithoutExt.out"
- 路径中的
$dir是当前文件所在目录,$fileNameWithoutExt是无后缀文件名,别手误写成$fileBasenameNoExtension(那是另一套变量) - 如果项目有多个源文件,Code Runner 本身不支持自动构建整个工程,这时候该切到
tasks.json+build task,别硬扛
Python 脚本里 import 自定义模块失败怎么办
点 Run Code 后提示 ModuleNotFoundError,不是代码问题,是 Code Runner 启动时的工作目录不对,也没传 PYTHONPATH。
- 确保
code-runner.cwd设为项目根目录(比如"$workspaceRoot"),而不是默认的"$fileDirname" - 在 executorMap 的 Python 条目末尾追加环境变量,例如:
"python": "cd $workspaceRoot && PYTHONPATH=$workspaceRoot/src:$workspaceRoot/lib python3 -u $fileName"
- 注意
-u参数:避免输出缓冲导致日志“卡住”,尤其在循环打印时
真正麻烦的从来不是支持多少语言,而是每种语言背后依赖的工具链版本、路径、环境变量、工作目录——这些细节不会自动对齐,得一条条核对。改完 settings.json 记得重启 VSCode,否则新配置不生效。











