You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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构建文件的通用方法:

  1. 打开你的自定义.sublime-build文件(一般在Preferences > Browse Packages > User目录下);
  2. 确保JSON格式正确:所有键值对用逗号分隔,数组元素之间也用逗号,字符串必须用双引号;
  3. 把新增的配置(比如新的变体、命令)插入到对应的位置(比如variants数组里添加新的对象);
  4. 保存文件后,Sublime会自动加载新的构建配置,无需重启。

内容的提问来源于stack exchange,提问作者piyush172

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 09:18:02