cpp vocode launch.json 和 tasks.json

这篇具有很好参考价值的文章主要介绍了cpp vocode launch.json 和 tasks.json。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

vscode cpp配置

在 VSCode 中配置 C++ 开发环境可以参考以下步骤:

  1. 安装 C/C++ 扩展:在 Extensions(扩展)中搜索 C/C++ 并安装。

  2. 安装 MinGW-w64:MinGW-w64 是一个 Windows 下的 GCC 工具链,可以在 Windows 上开发 C++ 程序。可以从官网下载 MinGW-w64 安装包并安装。安装时需要注意选择合适的架构和版本并将其添加到系统 PATH 环境变量中。

  3. 配置 launch.json:在 VSCode 中打开您的工作区文件夹,使用 F5 快捷键打开 Debug 面板,并点击配置(gear icon)按钮。选择 C++ (GDB/LLDB) 作为调试器配置,VSCode 将会生成一个 launch.json 文件。如果没有自动创建,可以手动在 .vscode 目录下创建 launch.json 文件。在 launch.json 文件中,至少需要配置以下几个属性:

    • "name":这是调试配置的名称;
    • "type":指定调试器的类型,例如 GDB 或者 LLDB;
    • "request":指定调试器启动的方式,例如 attach 或者 launch。在大多数情况下,这个值设置为 “launch”;
    • "program":指定要进行调试的可执行文件的路径;
    • "args":可选参数,传递给程序的命令行参数;
    • "cwd":可选参数,指定程序执行的目录;
  4. 添加 tasks.json:在 VSCode 编辑器中,你可以使用 tasks.json 文件来定义和运行任务。VSCode 任务是指通过配置文件完成自动化操作的过程。需要在 .vscode 目录下创建 tasks.json 文件。在 tasks.json 文件中至少需要添加以下属性:

    • "label":任务名称;
    • "type":任务类型,可以为 shellprocess
    • "command":要运行的命令;
    • "args":命令行参数;
    • "group":任务组;
  5. 编写代码并进行调试:编写代码后,使用 F5 快捷键或点击调试按钮启动调试器,按需设置断点、查看变量值等调试操作即可。

以上是在 Windows 操作系统上进行 C++ 开发的基本配置方法,需要根据具体的开发需求和环境进行相应的修改。

launch.json和tasks.json分别是什么,给出一个基本的配置信息

launch.jsontasks.json 都是 VSCode 中的配置文件,可以用于配置调试和任务执行等相关信息。

launch.json 是配置调试器启动时需要用到的一些信息。在 C++ 开发中,需要指定程序的入口点、程序运行的环境变量、命令行参数等。下面是一个基本的 C++ 调试配置信息:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Debug",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/helloworld.out",
            "args": [], 这里其实就是传入给程序的命令行参数 比如 .\out.exe 参数1 参数2 参数3
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "D:/mingw-w64/bin/gdb.exe",
            "preLaunchTask": "build"
        }
    ]
}

对于这个配置文件,其中的各项意义如下:

  • version:必须要指明的版本号;
  • name:自定义的调试配置名字;
  • type:调试环境类型,这里使用 “cppdbg” 表示 C++ 的 Debug 环境;
  • request:请求类型,这里使用 “launch” 表示启动一个新的进程进行调试;
  • program:调试的程序路径;
  • args:传递给程序的命令行参数;
  • stopAtEntry:程序是否在入口处停止;
  • cwd:程序执行的当前工作目录;
  • environment:环境变量;
  • externalConsole:是否使用外部控制台;
  • MIMode:调试器的类型,这里是 “gdb”;
  • miDebuggerPath:GDB 调试器的路径;
  • preLaunchTask:在启动调试前需要执行的任务,这里是执行 build 任务。

tasks.json 是配置 VSCode 中任务执行的一些信息。在 C++ 开发中,常见的任务包括编译、运行、清理等。下面是一个基本的 C++ 任务配置信息:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "windows": {
                "command": "g++",
                "args": [
                    "${workspaceFolder}/helloworld.cpp",
                    "-o",
                    "${workspaceFolder}/helloworld.out"
                ] 
            },
            "problemMatcher": [], 
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

对于这个配置文件,其中的各项意义如下:

  • version:必须要指明的版本号;
  • label:任务名称;
  • type:任务类型,这里使用 “shell” 表示任务需要在 shell 中执行;
  • windows.command:Windows 平台下的命令;
  • windows.args:命令行参数;
  • problemMatcher:VSCode 默认使用的问题匹配器;
  • group.kind:任务组;
  • group.isDefault:是否设为默认任务。

以上仅是两个基础配置文件的介绍,在实际使用中,可以通过调整里面的各项参数和添加更多的字段来满足具体的需求。

两个差不多嘛

是的,launch.jsontasks.json 两个配置文件中都包含一些相同的属性,比如 nametyperequestargscwd 等。不过这两个文件的用途还是有一定区别的。

launch.json 主要用于配置调试器启动时的一些信息,比如可执行文件路径、命令行参数、环境变量等。它是 Debug 的核心配置文件。它告诉 VSCode 如何启动调试器以及在运行期间如何处理程序和调试信息。

tasks.json 则是用来定义任务的,其中的属性指定了如何运行任务。在 C++ 开发中,可以使用 tasks.json 文件来编译、运行、调试应用程序等。通常情况下,您需要在 tasks.json 中定义一个 build 任务,然后以快捷方式 F7 运行该任务以编译代码并生成可执行文件。当然,任务还可以添加其他的操作,比如清理或打包等。

虽然 launch.jsontasks.json 都包含一些相同的配置项,但它们在功能上确实有所不同。当您需要配置调试时,通常只需编辑 launch.json 文件;当您需要定义其他任意名称的任务时,则应编辑 tasks.json 文件。

报错

根据你提供的信息,应该是因为你指定的 ${workspaceRoot}/cplus.out 路径下确实没有 cplus.out 文件。在 launch.json 中 "program": "${workspaceRoot}/cplus.out" 指定的路径,要求编译出的可执行文件名字为 cplus.out,并且该文件在工作区根目录下。你需要检查一下:

  1. 在编译 C++ 代码时是否生成了正确的可执行文件。你可以在任务终端中执行 ${fileDirname}\\${fileBasenameNoExtension}.exe 命令来运行该文件,这里假设你的源文件名为 example.cpp
  2. 如果可执行文件成功生成,请检查一下它的名称。它应该与你在 launch.json 中指定的 "program" 配置项的值一致。
  3. 如果文件名不一致,需要更新在 launch.json 配置项中的 program 值为正确的文件名。

请注意,如果你使用的是 Visual Studio Code 内置的 C/C++ 扩展进行编译和调试,则默认情况下生成的文件名将是 ${fileBasenameNoExtension}.out,而不是 ${fileBasenameNoExtension}.exe。此时你需要将 launch.json 中的 program 的值改为 ${workspaceRoot}/${fileBasenameNoExtension}.out

根据这个错误信息,看起来是 PowerShell 解析命令时出了问题。这很可能是因为在 PowerShell 中,反斜杠(\)被用作转义字符,因此如果你要在字符串中使用反斜杠,需要对其进行转义,例如将 ${fileDirname}\\${fileBasenameNoExtension}.exe 改为 ${fileDirname}\${fileBasenameNoExtension}.exe

另外,可以尝试使用双引号 " 来包含整个命令,这样 PowerShell 就可以正确解析反斜杠了,例如 "${fileDirname}\${fileBasenameNoExtension}.exe"

总之,你可以尝试一下以下几种方式:

  1. 使用单斜杠 / 而非反斜杠 \,例如 ${fileDirname}/${fileBasenameNoExtension}.exe

  2. 在反斜杠前添加一个额外的反斜杠 \ 进行转义,例如 ${fileDirname}\\\\${fileBasenameNoExtension}.exe

  3. 使用双引号将整个命令包含起来,例如 "${fileDirname}\${fileBasenameNoExtension}.exe"

如果以上方法都不能解决问题,建议提供更多相关信息,以便进行深入分析。

如果在使用 Visual Studio Code 进行 C++ 开发时出现 launch.out does not exist 错误,这可能是因为 VS Code 找不到指定的可执行文件。

根据你提供的信息,launch.json 配置文件中 "program" 字段的值为 ${workspaceRoot}/${fileBasenameNoExtension}.out,这意味着 VS Code 会在当前工作区的根目录下寻找一个以 .out 结尾的文件,然而默认情况下 C++ 的编译输出文件是以 .exe 或无后缀名的方式命名的,因此无法找到指定的可执行文件。

要解决这个问题,你可以尝试修改 "program" 字段的值为${workspaceFolder}/cplus.exe,其中 cplus.exe 是编译器生成的可执行文件名。例如,修改成以下格式:

"program": "${workspaceFolder}/cplus.exe"

此外,你还需要在调试前确保已经在工程文件所在目录下编译并生成了可执行文件。可以在终端里使用编译器命令进行编译,如在 MinGW 环境下可以使用 g++ cplus.cpp -o cplus.exe 命令编译 cplus.cpp 并生成可执行文件 cplus.exe

如果以上方法无法解决问题,请提供更多详细信息或相关代码,我将尽力帮助你解决问题。

补充

cpp vocode launch.json 和 tasks.json

preLaunchTask

这里的值要和task文件里 label的值相同,说明task要先执行后再执行launch里的文章来源地址https://www.toymoban.com/news/detail-492722.html

到了这里,关于cpp vocode launch.json 和 tasks.json的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 记录 | vscode launch.json和task.json的用途用法

    Tasks.json 按编译逻辑来说,先讲tasks.json 先贴图: \\\"label\\\": 对应launch.json中的 \\\"preLaunchTask\\\";(一定要一致,决定了launch.json之前先运行哪个配置,tasks是一个array类型,里面理论来说可以存多个配置) \\\"command\\\": 这个是编译器的命令,相当于选择了哪个编译器 (我配置了环境变量

    2024年01月25日
    浏览(45)
  • ubuntu + VScode + C++ + openCV 运行调试launch.json和task.json编写

    近期在学习opencv的使用,在进行多文件编写时遇到了诸多问题,在查阅众多博客之后,问题一个一个解决了,用这篇文章记录下我的解决方法,希望可以为你提供一定的帮助。(新手拙见,欢迎批评指正)。 创建项目并编写代码。我的项目文件结构如下  在创建项目之后,点

    2024年02月14日
    浏览(34)
  • vscode debug 配置:launch.json

    打开新项目左边的“运行和调试” 点击蓝色字体“创建 launch.json 文件” 选择上方“python” 选择“Python 文件 调试当前正在运行的Python文件” 配置 launch.json 文件内容: \\\"justMyCode\\\": true debug时只进入项目自带文件,不进入安装的包文件 \\\"env\\\": {\\\"PYDEVD_WARN_SLOW_RESOLVE_TIMEOUT\\\": \\\"2\\\"} 多长

    2024年04月14日
    浏览(39)
  • vscode debug python launch.json添加args不起作用

    为了带入参数调试python 程序,按照网上搜到的教程配置了lauch.json文件,文件中添加了\\\"args\\\": [“model” “0” “path”] 但是点击debug按钮,并没有读取到launch文件中的args参数,python中打印len(sys.argv)依然等于1。 参考:vscode-python 中的 issues vscode-doc: Python debugging in VS Code 简单来说

    2024年02月09日
    浏览(48)
  • 自动更改由VSCode调试器创建的默认launch.json文件

    File - Preference - Settings 修改下面的部分

    2024年02月20日
    浏览(44)
  • vscode调试debug,launch.json文件‘args’无法发传递给脚本

    launch.json中的\\\"name\\\"参数不要随便起,要与执行的文件名一致! 参考链接:注意看链接帖子的评论

    2024年01月18日
    浏览(73)
  • 【BUG解决】vscode debug python launch.json添加args不起作用

    为了带入参数调试python 程序,点击了ui界面右上角的debug按钮,配置了lauch.json文件。按照网上搜到的教程添加了 \\\"args\\\": 但是点击ui界面的debug按钮,发现配置的参数并不起作用。 原因: 在 vscode-python 项目的issue和issue里找到答案。 省流:ui界面右上角的debug按钮是一个扩展插件

    2024年02月16日
    浏览(43)
  • 调试Dynaslam: Ubuntu系统下使用VS Code进行自动化调试Dynaslam的教程,包括tasks.json和launch.json的配置

    将 SET(CMAKE_BUILD_TYPE Release) 修改为 SET(CMAKE_BUILD_TYPE Debug) 不开启编译优化,在编译选项中包含 -g 参数来启用调试符号,使调试器能够准确地设置断点和跟踪代码。 将 cmake .. -DCMAKE_BUILD_TYPE=Release 替换为 cmake -DCMAKE_BUILD_TYPE=Debug .. 同时,将 DynaSLAM/Thirdparty/DBoW2/CMakeLists.txt 和 DynaSL

    2024年02月05日
    浏览(52)
  • vscode打开c_cpp_properties.json文件的一种方式

    点击win32 点击json 自动生成了

    2024年01月19日
    浏览(32)
  • CMake tasks.json launch.json

    launch.json(在.vscode文件夹中) tasks.json(在.vscode文件夹中) settings.json(在.vscode文件夹中) Gun.h  Gun.cpp Soldier.h Soldier.cpp CMakeLists.txt main.cpp 执行结果:

    2024年01月20日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包