需手动配置 code-runner.executorMap 实现自定义语言支持:一、修改用户级 settings.json 全局覆盖;二、在项目 .vscode/settings.json 中局部配置;三、启用 respectShebang 动态解析 shebang;四、结合 tasks.json 实现复杂构建链。

如果您在 VSCode 中使用 Code Runner 扩展,但希望它支持默认未包含的语言或自定义执行逻辑,则需要手动配置 code-runner.executorMap。以下是实现该目标的具体步骤:
本文运行环境:MacBook Air,macOS Sequoia。
一、修改用户级 executorMap 配置
此方法通过全局覆盖 Code Runner 的执行命令映射,使任意语言均可被识别并运行。配置生效后,所有工作区共享该设置。
1、打开 VSCode 设置界面,点击左下角齿轮图标,选择“设置”。
2、在搜索框中输入 code-runner.executorMap,找到对应配置项。
3、点击右侧“在 settings.json 中编辑”,进入 JSON 编辑模式。
4、在 "code-runner.executorMap" 对象内添加新语言键值对,例如为 .awk 文件添加执行命令:"awk": "awk -f $fileName"。
二、在工作区目录下创建 .vscode/settings.json
此方法将配置限制在当前项目内,避免影响其他项目,适合多语言混合工程或需差异化执行逻辑的场景。
1、在项目根目录新建文件夹 .vscode(注意开头为英文点号)。
2、在该文件夹中新建文件 settings.json。
3、写入包含 "code-runner.executorMap" 的完整 JSON 对象,确保外层有大括号包裹。
特色介绍: 1、ASP+XML+XSLT开发,代码、界面、样式全分离,可快速开发 2、支持语言包,支持多模板,ASP文件中无任何HTML or 中文 3、无限级分类,无限级菜单,自由排序 4、自定义版头(用于不规则页面) 5、自动查找无用的上传文件与空目录,并有回收站,可删除、还原、永久删除 6、增强的Cache管理,可单独管理单个Cache 7、以内存和XML做为Cache,兼顾性能与消耗 8、
4、为 Bash 脚本添加带错误退出的执行规则:"bash": "set -e; bash $fileName"。
三、利用 shebang 行动态匹配解释器
此方法不依赖固定扩展名,而是读取源文件首行 shebang(如 #!/usr/bin/env python3),自动调用对应解释器执行,提升脚本可移植性。
1、在 settings.json 中将 "code-runner.respectShebang" 设为 true。
2、确保目标文件第一行以 #!/ 开头,且路径可被系统解析(如 #!/usr/bin/env node)。
3、保存文件后,右键选择“Run Code”即可触发 shebang 解析流程。
四、结合 tasks.json 实现复杂构建链
当单条命令不足以完成编译+运行流程时(如 Rust、Go 或需前置格式化),可绕过 executorMap,改用 VSCode 原生 task 机制,并让 Code Runner 调用该 task。
1、在项目 .vscode 目录下创建 tasks.json,定义 label 为 run-current-file 的 task。
2、在 settings.json 中设置:"code-runner.executorMap": {"rust": "echo 'use tasks.json' && exit 0"}。
3、修改 "code-runner.runInTerminal" 为 true,确保 task 输出可见。
4、在 tasks.json 的 command 字段中调用 cargo run --bin $fileBasenameNoExtension 等动态参数。









