code runner 可免配 tasks.json/launch.json 运行 c/c++ 代码,前提是系统 path 中已正确配置 gcc/g++ 编译器(windows 用 mingw-w64 并添加 bin 路径;macos 用 brew install gcc 后需软链为 gcc;linux 安装 build-essential),且通过 code-runner.executormap 自定义命令以支持标准与参数。

不需要手动写 tasks.json 或 launch.json,Code Runner 插件就能直接编译运行 C/C++ 代码——前提是系统里已有可用的 gcc 或 g++。
Code Runner 能跑 C/C++ 的前提条件
它不自带编译器,只负责调用你系统 PATH 里的 gcc、g++、clang 等命令。如果终端里执行 gcc --version 报错,Code Runner 就会卡在“compiling…”不动,或直接报 command 'code-runner.run' not found。
- Windows 用户必须装 MinGW-w64(推荐通过 MSYS2 安装),并把
mingw64\bin或ucrt64\bin加进系统 PATH - macOS 用户装完
brew install gcc后,gcc命令默认是gcc-14这类带版本号的别名,得用ln -s软链成gcc,否则 Code Runner 找不到 - Linux 用户装
build-essential即可,但注意 Ubuntu 24.04+ 默认没开sudo权限,gcc可能被限制在非 root 用户下不可用
怎么让 Code Runner 用对编译器和参数
默认它只跑 gcc main.c -o main,没加 -Wall、-std=c11 这些常用选项,也分不清 .c 和 .cpp 该用哪个编译器。
- 打开设置 → 搜索
code-runner.executorMap→ 编辑用户设置 JSON - 修改对应语言的命令,例如:
"c": "gcc -Wall -std=c11 $fileName -o $fileNameWithoutExt && ./$fileNameWithoutExt", "cpp": "g++ -Wall -std=c++17 $fileName -o $fileNameWithoutExt && ./$fileNameWithoutExt"
- 注意
$fileNameWithoutExt不能写成$name,后者是 VS Code 内置变量,Code Runner 不识别 - Windows 下路径含空格(比如
C:\Program Files\...)会导致编译失败,建议 MinGW 安装路径全英文无空格
为什么 Ctrl+Alt+N 有时没反应
不是插件坏了,大概率是当前文件没被识别为可运行语言,或者快捷键被其他插件劫持了。
- 确认文件后缀是
.c或.cpp,且右下角状态栏显示语言模式是 “C” 或 “C++”,不是 “Plain Text” - 按
Ctrl+Shift+P→ 输入Change Language Mode→ 手动选 C/C++ - 检查快捷键冲突:打开键盘快捷键设置,搜索
code-runner.run,看是否被禁用或绑定到别的键位 - 某些安全软件(如 Windows Defender 实时防护)会拦截临时生成的
.exe文件,导致运行后一闪而退,关掉实时防护再试一次
真正容易被忽略的是编译器路径和语言识别的耦合关系:Code Runner 不读取 c_cpp_properties.json,也不关心你装了多少个 C++ 插件,它只认 PATH + 文件后缀 + executorMap 配置。哪怕你装了全套 Microsoft C/C++ 扩展,只要 gcc 不在 PATH 里,它就什么都干不了。











