VScode配置launch+tasks[自己备用]

2024-04-17 14:28

本文主要是介绍VScode配置launch+tasks[自己备用],希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • VScode配置launch+tasks[自己备用],配置文件详解

launch.json
字段 name :启动配置的名称,也就是显示在调试配置下拉菜单中的名字,如果添加了多个配置可以用此作为区分
字段 program :可执行文件完整路径。

① 由于 C++ 程序需要编译为可执行程序才能运行,此处即为该文件的完整路径。
② 其中 ${...} 为 VS Code 的路径引用符号, ${fileDirname} 为项目工作目录, ${fileBasenameNoExtension} 为不带扩展名的文件名称
将其组合起来 ${fileDirname}\\${fileBasenameNoExtension}.exe 表示以当前文件名命名的 .exe 文件所在路径,也就是项目启动路径。

字段 cwd :cpp 文件的工作目录
字段 miDebuggerPath :你安装的 C++ 调试程序 gdb.exe 的路径
字段 preLaunchTask :启动调试前的预处理过程(也就是生成可执行程序 .exe 文件的过程)的名称

① 我们需要知道,C++ 程序调试过程分为编译和运行,而 launch.json 是启动(运行)时的配置,在这之前还需要进行编译生成可执行文件,tasks.json 配置文件即为编译时的配置。
② preLaunchTask 字段的内容即为编译过程的任务名称,VS Code 根据这个名字找到对应的 tasks 编译配置并运行它,所以该字段的内容必须要和 tasks.json 文件中的 label 字段保持一致,否则将无法找到编译配置,也就无法生成 .exe 可执行文件。

tasks.json
字段 label :编译过程的任务名称,需要和 launch.json 中的 preLaunchTask 字段保持一致
字段 command :你电脑安装的 C++ 编译器 g++.exe 的路径
字段 args :g++.exe 编译过程的可选参数

① 参数 "-g" 的下面一行的 "${file}" 表示需要编译的文件为当前调试文件。
② 参数 "-o" 的下面一行的 "${fileDirname}\\${fileBasenameNoExtension}.exe" 表示生成的可执行文件的位置,一般需要和 launch.json 的 program 字段保持一致。

如果你不想让生成的可执行文件与源代码文件放在一起,而是放在另一个文件夹里(这个文件夹必须存在),你可以这样设置:
① tasks.json 中字段 args 中参数 "-o" 的下面一行的 ${fileDirname} 修改为你自定义的文件夹路径
② launch.json 中字段 program 中的 ${fileDirname} 也修改为你自定义的文件夹路径
这样当你调试 C++ 程序时,可执行文件(.exe)就会生成在你设置的路径下,而不是和源文件(.cpp)混在一起了

 launch.json

{"version": "0.2.0","configurations": [{"name": "C/C++: g++.exe 生成和调试活动文件","type": "cppdbg","request": "launch","program": "${fileDirname}\\${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": true,"MIMode": "gdb","miDebuggerPath": "F:\\RedPanda-CPP-GCC11.2_Portable.2.3\\MinGW64\\bin\\gdb.exe","setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true}],"preLaunchTask": "C/C++: g++.exe 构建活动文件"}]
}

 tasks.json

{"version": "2.0.0","tasks": [{"label": "C/C++: g++.exe 构建活动文件","type": "shell","command": "g++","args": ["-finput-charset=UTF-8","-fexec-charset=GBK","-fdiagnostics-color=always","-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],"options": {"cwd": "${workspaceFolder}"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true}}]
}

 c_cpp_properties.json
C:\Users\Administrator> gcc -v -E -x c+ -b

{"configurations": [{"name": "Win32","includePath": ["${workspaceRoot}","F:/RedPanda-CPP-GCC11.2_Portable.2.3/MinGW64/include/**","F:/RedPanda-CPP-GCC11.2_Portable.2.3/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../include","F:/RedPanda-CPP-GCC11.2_Portable.2.3/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++","F:/RedPanda-CPP-GCC11.2_Portable.2.3/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++/x86_64-w64-mingw32","F:/RedPanda-CPP-GCC11.2_Portable.2.3/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++/backward","F:/RedPanda-CPP-GCC11.2_Portable.2.3/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/include","F:/RedPanda-CPP-GCC11.2_Portable.2.3/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/include-fixed"],"defines": ["_DEBUG","UNICODE","__GNUC__=6","__cdecl=__attribute__((__cdecl__))"],"intelliSenseMode": "msvc-x64","browse": {"limitSymbolsToIncludedHeaders": true,"databaseFilename": "","path": ["${workspaceRoot}","F:/RedPanda-CPP-GCC11.2_Portable.2.3/MinGW64/include/**","F:/RedPanda-CPP-GCC11.2_Portable.2.3/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../include","F:/RedPanda-CPP-GCC11.2_Portable.2.3/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++","F:/RedPanda-CPP-GCC11.2_Portable.2.3/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++/x86_64-w64-mingw32","F:/RedPanda-CPP-GCC11.2_Portable.2.3/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++/backward","F:/RedPanda-CPP-GCC11.2_Portable.2.3/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/include","F:/RedPanda-CPP-GCC11.2_Portable.2.3/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/include-fixed"]}}],"version": 4
}

 百度搜索:  "launch.json" 中缺少配置“C/C++: g++.exe 生成和调试活动文件”
其给出的答案也不错!


这篇关于VScode配置launch+tasks[自己备用]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/912047

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

vscode中文乱码问题,注释,终端,调试乱码一劳永逸版

忘记咋回事突然出现了乱码问题,很多方法都试了,注释乱码解决了,终端又乱码,调试窗口也乱码,最后经过本人不懈努力,终于全部解决了,现在分享给大家我的方法。 乱码的原因是各个地方用的编码格式不统一,所以把他们设成统一的utf8. 1.电脑的编码格式 开始-设置-时间和语言-语言和区域 管理语言设置-更改系统区域设置-勾选Bata版:使用utf8-确定-然后按指示重启 2.vscode

沁恒CH32在MounRiver Studio上环境配置以及使用详细教程

目录 1.  RISC-V简介 2.  CPU架构现状 3.  MounRiver Studio软件下载 4.  MounRiver Studio软件安装 5.  MounRiver Studio软件介绍 6.  创建工程 7.  编译代码 1.  RISC-V简介         RISC就是精简指令集计算机(Reduced Instruction SetCom

log4j2相关配置说明以及${sys:catalina.home}应用

${sys:catalina.home} 等价于 System.getProperty("catalina.home") 就是Tomcat的根目录:  C:\apache-tomcat-7.0.77 <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n" /> 2017-08-10

DM8数据库安装后配置

1 前言 在上篇文章中,我们已经成功将库装好。在安装完成后,为了能够更好地满足应用需求和保障系统的安全稳定运行,通常需要进行一些基本的配置。下面是一些常见的配置项: 数据库服务注册:默认包含14个功能模块,将这些模块注册成服务后,可以更好的启动和管理这些功能;基本的实例参数配置:契合应用场景和发挥系统的最大性能;备份:有备无患;… 2 注册实例服务 注册了实例服务后,可以使用系统服务管理,