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

vscode的使用

如何优雅在vscode上调试c++程序呢?首先需要安装相关的工具:

sudo apt update
sudo apt install build-essential gdb

然后安装对应的扩展:
打开 VS Code,安装扩展:
C/C++(Microsoft 出品)
C/C++ Extension Pack(可选,包含调试支持)
code runner等等
在这里插入图片描述

安装好扩展之后建立一个专门用于cpp的文件夹,然后创建配置文件到.vscode中:
在这里插入图片描述

写入配置(不用修改)tasks.json:

{"tasks": [{"type": "cppbuild","label": "C/C++: g++ 生成活动文件","command": "/usr/bin/g++","args": ["-fdiagnostics-color=always","-g","${file}","-o","${fileDirname}/${fileBasenameNoExtension}"],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "调试器生成的任务。"}],"version": "2.0.0"
}

launch.json:

{"version": "0.2.0","configurations": [{"name": "Debug C++","type": "cppdbg","request": "launch","program": "${fileDirname}/${fileBasenameNoExtension}","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": false,"MIMode": "gdb","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}],"preLaunchTask": "build cpp","miDebuggerPath": "/usr/bin/gdb"}]
}

其他的就默认就行了。
创建一个简单的c++程序:

#include <iostream>
using namespace std;int main() {cout << "Hello, Ubuntu + VS Code!" << endl;return 0;
}

打上断点,尽情调试即可:
在这里插入图片描述

如果是调试和运行单个/多个程序呢?
第一种方式是通过指定所有的cpp到args中:

{"version": "2.0.0","tasks": [{"type": "shell","label": "build multi-cpp","command": "/usr/bin/g++","args": ["-g","src/main.cpp","src/foo.cpp","src/bar.cpp","-I", "include","-o", "${workspaceFolder}/bin/app"],"group": { "kind": "build", "isDefault": true },"problemMatcher": ["$gcc"]}]
}

同步修改launch.json,把program指定到上一步生成的可执行文件:

"program": "${workspaceFolder}/bin/app",
"preLaunchTask": "build multi-cpp",

对应的结构:

cpp_proj
├── .vscode
│   ├── tasks.json
│   └── launch.json
├── include
│   └── bar.h
├── src
│   ├── main.cpp
│   ├── foo.cpp
│   └── bar.cpp
└── bin└── app   (生成的可执行文件)

第二种则是通过cmake/makefile来进行简化.这里就不再赘述了.

另外就是程序格式的整理了,使用clang-format工具,首先安装相应的工具:

sudo apt install clang-format

然后生成.clang-format文件:

clang-format -style=llvm -dump-config > .clang-format

然后安装插件:
在这里插入图片描述
配置插件中的位置:
在这里插入图片描述
在这里插入图片描述
使用时,对于需要整理的代码,右键进行格式化文档
在这里插入图片描述
在这里插入图片描述
缩进信息就没有问题了.

http://www.lryc.cn/news/623093.html

相关文章:

  • B3844 [GESP样题 二级] 画正方形
  • CPP运算符优先级
  • [go] 桥接模式
  • RecSys:多目标模型和MMOE
  • pwn定时器,ARM定时delay 外部中断用函数指针(统一)day55,56
  • 一周学会Matplotlib3 Python 数据可视化-绘制自相关图
  • mysql使用group by的时候想显示没有参与聚合的字段怎么办
  • 软考 系统架构设计师系列知识点之杂项集萃(125)
  • 【JavaEE】(13) Spring Web MVC 入门
  • 深度解码格行无缝切网引擎:40%延迟降低背后的多网智能切换架构
  • [ai-agent]环境简介之沙盒e2b vs daytona
  • 海康机器人3D相机的应用
  • qsort实现数据排序
  • 零知开源——基于STM32F407VET6的TCS230颜色识别器设计与实现
  • 启发式合并 + 莫队 恋恋的心跳大冒险
  • 【机器学习深度学习】OpenCompass:支持的开源评估数据集及使用差异
  • 告别重复纹理:用Substance Designer构建UE5程序化地貌材质系统
  • SysTick寄存器(嘀嗒定时器实现延时)
  • EP1C12F324I7N Altera Cyclone FPGA
  • [创业之路-550]:公司半年度经营分析会 - 解决方案汇总
  • Vue2.x核心技术与实战(一)
  • Java 学习笔记(基础篇3)
  • 嵌入式硬件篇---电源电路
  • php版的FormCreate使用注意事项
  • 从频繁告警到平稳发布:服务冷启动 CPU 风暴优化实践00
  • Flow-GRPO:通过在线 RL 训练 Flow matching 模型
  • 【OpenGL】LearnOpenGL学习笔记10 - 平行光、点光源、聚光灯
  • 2020/12 JLPT听力原文 问题二 2番
  • CSDN部分内容改为视频转到B站-清单
  • Flink Stream API 源码走读 - print()