如何在Sublime Text中合并JSON文件及自定义task.json与构建文件
合并C/C++编译运行配置:VS Code Task.json 与 Sublime Text Build 配置
没问题,我帮你把这两个配置整合好,同时告诉你在Sublime Text里怎么合并JSON构建文件——分两部分说清楚:
一、合并为VS Code的task.json文件
你的VS Code原配置是编译后直接清屏运行,而Sublime的配置多了一个通过CPHelper Python脚本运行的功能。我把这两个功能整合到同一个task.json里,做成两个独立的任务,方便你按需选择:
{ "version": "2.0.0", "tasks": [ { "label": "Compile & Run Directly", "type": "shell", "command": "g++", "args": [ "-g", "${relativeFile}", "-o", "${fileBasenameNoExtension}.out", "&&", "clear", "&&", "./${fileBasenameNoExtension}.out" ], "group": { "kind": "build", "isDefault": true }, "problemMatcher": { "owner": "cpp", "fileLocation": ["relative", "${workspaceRoot}"], "pattern": { "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", "file": 1, "line": 2, "column": 3, "severity": 4, "message": 5 } } }, { "label": "Compile & Run via CPHelper", "type": "shell", "command": "g++", "args": [ "-g", "${relativeFile}", "-o", "${fileBasenameNoExtension}.out", "&&", "python3", "/home/piyush/Documents/CPHelper/Main.py", "./${fileBasenameNoExtension}.out" ], "group": "build", "problemMatcher": { "owner": "cpp", "fileLocation": ["relative", "${workspaceRoot}"], "pattern": { "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", "file": 1, "line": 2, "column": 3, "severity": 4, "message": 5 } } } ] }
说明:
- 第一个任务
Compile & Run Directly保留了你原来的逻辑:编译带调试信息、生成.out文件、清屏后直接运行。它被设置为默认构建任务,按Ctrl+Shift+B会优先执行它。 - 第二个任务
Compile & Run via CPHelper编译完成后,会调用你的CPHelper脚本运行可执行文件,适合需要脚本辅助的场景。 - 你可以通过VS Code的命令面板(Ctrl+Shift+P)输入
Tasks: Run Task,选择对应的任务执行。
二、在Sublime Text中合并JSON构建文件
如果你想把VS Code的“编译后直接运行”功能整合到现有的Sublime Build文件里,可以修改成下面这样,通过变体实现多个运行选项:
{ "shell_cmd": "g++ \"${file}\" -o \"${file_path}/${file_base_name}.out\"", "file_regex": "^(..[^:]*):([0-9]+)?:?([0-9]+)?:? (.*)$", "working_dir": "${file_path}", "selector": "source.c, source.c++", "variants": [ { "name": "Run Directly", "shell_cmd": "g++ \"${file}\" -o \"${file_path}/${file_base_name}.out\" && clear && \"${file_path}/${file_base_name}.out\"" }, { "name": "Run via CPHelper", "shell_cmd": "g++ \"${file}\" -o \"${file_path}/${file_base_name}.out\" && python3 /home/piyush/Documents/CPHelper/Main.py \"${file_path}/${file_base_name}.out\"" } ] }
说明:
- 主命令保持只编译不运行,方便你单独编译代码(按Ctrl+B执行)。
variants数组里新增了两个选项:Run Directly对应VS Code里的清屏后直接运行功能;Run via CPHelper保留了你原来的脚本运行逻辑,我给它改了个更明确的名字。
- 使用时,按Ctrl+Shift+B打开构建选项菜单,选择你需要的变体即可。
Sublime合并JSON构建文件的通用方法:
- 打开你的自定义
.sublime-build文件(一般在Preferences > Browse Packages > User目录下); - 确保JSON格式正确:所有键值对用逗号分隔,数组元素之间也用逗号,字符串必须用双引号;
- 把新增的配置(比如新的变体、命令)插入到对应的位置(比如
variants数组里添加新的对象); - 保存文件后,Sublime会自动加载新的构建配置,无需重启。
内容的提问来源于stack exchange,提问作者piyush172
相关产品推荐
相关产品推荐

