怎么让vscode生成C语言的tasks.json和launch.json

可以通过以下步骤让 VSCode 自动生成 tasks.jsonlaunch.json 文件:

1. 生成 launch.json

VSCode 会自动创建 launch.json 文件,当你尝试为 C 或 C++ 项目设置调试配置时。以下是生成 launch.json 的步骤:

  1. 打开你的 C/C++ 文件
  2. F5 或选择 Run > Start Debugging,此时会提示你配置调试器。
  3. 如果还没有调试配置,VSCode 会提示你选择调试环境,选择 C++ (GDB/LLDB)C++ (Windows) 取决于你的平台。
  4. 接着,VSCode 会自动生成 launch.json 文件,并根据你的项目自动填充配置内容。

2. 生成 tasks.json

VSCode 会自动创建 tasks.json 文件,当你尝试设置一个编译任务时。以下是生成 tasks.json 的步骤:

  1. Ctrl + Shift + P(Windows/Linux)或 Cmd + Shift + P(Mac)打开命令面板。
  2. 输入并选择 Tasks: Configure Default Build Task
  3. 系统会提示你选择编译工具,选择 C/C++: gcc build active file 或其他合适的编译器(比如 g++)。
  4. 选择后,VSCode 会自动生成并填充 tasks.json 文件。

3. 生成的文件位置:

  • launch.jsontasks.json 文件会生成在 .vscode 文件夹中,该文件夹位于你当前项目的根目录。

4. 手动触发配置生成(可选)

如果你想手动创建并编辑这些文件,你可以在 .vscode 文件夹中创建 launch.jsontasks.json 文件,并根据你的需求手动填充内容。

示例 launch.json
json 复制代码
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C/C++: g++ build and debug active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++ build active file",
            "miDebuggerPath": "/usr/bin/gdb",
            "internalConsoleOptions": "openOnSessionStart"
        }
    ]
}
示例 tasks.json
json 复制代码
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "C/C++: g++ build active file",
            "type": "shell",
            "command": "/usr/bin/g++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": ["$gcc"],
            "detail": "Generated task for C/C++ build."
        }
    ]
}

通过以上步骤,VSCode 将能够自动生成并配置 tasks.jsonlaunch.json,以方便你调试和编译 C/C++ 项目。

相关推荐
码智社5 小时前
JSON 零基础到资深全体系教程
java·json
stevenseahang7 小时前
C语言标准演化史:从K&R到GNU,谁才是正统?
c语言·gnu·可移植性·标准演化·ansic
别动我齐刘海8 小时前
Day6 unitree_G1人形机器人GMR—— MotionInput
c语言·c++·人工智能·学习·机器学习·机器人·github
AI科技星8 小时前
曲率‑挠率与 $\boldsymbol{\omega/c}$ 的关系、精算验证及其物理意义
c语言·开发语言·线性代数·算法·决策树·机器学习·ai科技星
坏柠11 小时前
C语言进阶:从零实现一个可靠的环形缓冲区,吃透回绕、边界与并发
java·c语言·算法
choumin12 小时前
C程序能调用extern “C“声明的带默认参数的C++函数吗?
c语言·c++·extern c·默认参数
LONGZETECH12 小时前
传统实训 vs 仿真实训:从技术架构拆解新能源汽车教学的范式之变
c语言·3d·unity·架构·汽车
白白白小纯12 小时前
每日算法day3—回文链表,链表分割
c语言·数据结构·算法·leetcode
✎ ﹏梦醒͜ღ҉繁华落℘13 小时前
单片机基础知识--LVGL学习-lv_obj_add_flag()
c语言·单片机·学习
2601_9609067213 小时前
AI研发加速中式及泛亚洲
人工智能·vscode·macos·sublime text·phpstorm