当前位置: 首页 > news >正文

VSCode编程配置再次总结

VScode 中C++编程再次总结

0.简介

1.配置总结

1.1 launch jsion文件

launch.json文件主要用于运行和调试的配置,具有程序启动调试功能。launch.json文件会启用tasks.json的任务,并能实现调试功能。

左侧任务栏的第四个选项运行和调试,点击创建launch.json
在这里插入图片描述

{"configurations": [{"name": "C/C++: gcc.exe 生成和调试活动文件","type": "cppdbg","request": "launch","program": "${fileDirname}\\${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,"cwd": "d:\\AppInstall\\GCCAPP\\mingw64\\bin",// 有时候 "cwd"为: "${fileDirname}""${workspaceFolder}""environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "d:\\AppInstall\\GCCAPP\\mingw64\\bin\\gdb.exe","setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true},{"description": "将反汇编风格设置为 Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}],"preLaunchTask": "C/C++: gcc.exe 生成活动文件"}],"version": "2.0.0"
}

下面对launch.json文件中的参数进行介绍:
(1)“name”:自定义命名运行与调式的名称,将在左侧运行和调试的菜单中显示名称
(2)“type”:配置类型,调试器类型,cppdbg为C/C++的调试类型。
(3)“request”:配置请求类型,可以为launch(启动)或attach(附加)。
(4)“program”:在windows系统下需要进行调试的可执行文件(.exe文件)及其路径,应该与tasks.json编译后输出的可执行文件(.exe文件)及其路径一致。
(5)“args”:程序调试时传递给程序的命令行参数,一般设为空即可,这里提到的程序实际就上面的.exe文件。
(6)“stopAtEntry”:设为true时程序将暂停在程序入口处,一般设置为false。
(7)“cwd”:当前工作目录(路径)。
(8)“environment”:添加到程序的环境变量。
(9)“externalConsole”:true开启外部控制台窗口,false会使用vscode内部控制台窗口。
(10)“MIMode”:指示 MIDebugEngine 要连接到的控制台调试程序,允许的值为 “gdb”、“lldb”。这里使用gdb进行调试。
(10)“miDebuggerPath”:调试器debugger文件及其路径,这里是调用gdb调试器的路径。
(11)“preLaunchTask”:运行和调式前要启动的tasks任务,也即要启动的编译任务,任务名要和tasks.json里面的"label"值对应一致。

1.2 tasks json文件

tasks.json在编译时用的到,配置tasks.json文件的步骤

菜单栏的终端,选择最后一个配置默认生成任务

再选择第二个c/c++:g++生成活动文件

tasks.json实际上就相当于帮我们完成了g++ -g main.cpp swap.cpp -o a.out的操作

{"tasks": [{"type": "cppbuild","label": "C/C++: gcc.exe 生成活动文件","command": "d:\\AppInstall\\GCCAPP\\mingw64\\bin\\gcc.exe","args": ["-fdiagnostics-color=always","-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],"options": {"cwd": "d:\\AppInstall\\GCCAPP
http://www.lryc.cn/news/449776.html

相关文章:

  • 银行管理系统
  • 极狐GitLab 17.4 重点功能解读【四】
  • [每日一练]利用自连接实现数量查询
  • Linux云计算 |【第四阶段】RDBMS1-DAY3
  • 初始MYSQL数据库(8)—— JDBC编程
  • Vue $router.push打开新窗口
  • SQL进阶技巧:如何利用if语句简化where或join中的条件 | if条件语句的优雅使用方法
  • SpringCloud-Alibaba第二代微服务快速入门
  • JSON字符串转换成对象
  • 第三十五章 结合加密和签名
  • FastAPI 第八课 -- 路径操作依赖项
  • 大厂面试真题-说一下Mybatis的缓存
  • jQuery UI 工作原理
  • CS 工作笔记:SmartEdit 里创建的是 CMS Component
  • Java面试经验总结之SSM框架+springboot
  • Unity 热更新(HybridCLR+Addressable)-设置打包路径和加载路径、打开Hosting服务、打包
  • 享元(轻量级)模式
  • 基于php的幸运舞蹈课程工作室管理系统
  • NLP任务的详细原理与步骤的详细讲解
  • Kotlin 处理字符串和正则表达式(二十一)
  • 一站式大语言模型API调用:快速上手教程
  • 【TabBar嵌套Navigation案例-新特性页面-代码位置 Objective-C语言】
  • 程序员如何提升并保持核心竞争力?——深入钻研、广泛学习与软技能的培养
  • Linux之Docker虚拟化部署
  • 重构部队信息安全:部队涉密载体建设新策略
  • 使用Node.js的readline模块逐行读取并解析大文件
  • 浅谈软件安全开发的重要性及安全开发实践
  • 在 NodeJs 里面如何获取 APK 的名称和 icon
  • 基于VirtualBox和Ubuntu的虚拟环境搭建
  • 【PHP源码】匿名来信系统H5版本V1.0免费开源