| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> vscode跳坑(针对Linux) -> 正文阅读 |
|
[开发工具]vscode跳坑(针对Linux) |
目录 ????????? ?四.关于json文件的内容及基本概念(代码自动编译及调试) 一.关于更改vscode自带终端文字间隔,字体大小文件 -> 首选项 -> 设置 -> 搜索“终端”-> ????????找到Terminal>Integrated:Font Family -> 更改为monospace即可 ????????找到Terminal>Integrated:Font Size -> 即可更改字体大小 二.关于vscode使用的基本插件(C++语言)1.c/c++ 2.Chinese (Simplified) 3.CMake 4.CMake Tools 三.关于cmake的基本内容与使用(代码编译)1.CMakeLists.txt基本内容(注意文件夹名称应加s,而非CMakeList)
?2.使用 注:为避免cmake生成的文件与cpp文件,头文件混在一起,一般新建一个build文件夹,在该文件夹下执行cmake,这样生成的cmake文件只在build文件夹下 在build文件夹下使用:cmake 路径 (路径为CMakeLists.txt文件所在的相对路径),若无报错且正常生成makefile文件后,在build文件夹下使用:make 编译,若正常生成可执行文件并无报错,则说明编译成功 四.关于json文件的内容及基本概念(代码自动编译及调试)以下均为个人理解,如有错误或偏差,欢迎评论区指正,万分感激!! 注:我最初一直以为json文件是自动生成的,主要是由于不了解json文件,其实launch.json和tasks.json只是两个文件罢了,可以vscode自动生成,也可以手动编写,你无须顾虑手动编写会带来哪些隐患,手动编写和vscode自动生成的都是一样的,同时这两个文件都是在.vscode文件夹下,如果没有出现.vscode文件夹,你也可以手动创建,这同样也都是一样的 1.launch.json文件:这是一个调试的配置文件,能够控制调试过程 ? ? ? ? 创建launch.json文件: ? ? ? ? ? ? ? ? 1.点击左侧边栏的运行和调试(或按ctrl+shift+d)? ? ? ? ? ? ? ? ? 2.点击创建launch.json文件,在跳出的选项中找到C++(GDB/LLDB)并点击 ? ? ? ? ? ? ? ? (注:若没有C++(GDB/LLDB)选项,则回到第一步前,先打开一个cpp文件,再执行1,2步) ? ? ? ? ? ? ? ? (有些人第2步做完还会有一个选项步骤,但我没有,所以创建的launch.json没有配置息) ? ? ? ? ? ? ? ? 3.点击后会发现左侧边栏的资源管理器中会出现.vscode文件,其中包括launch.json文件 ? ? ? ? ? ? ? ? 4.因创建的launch.json无配置信息,所以点击右下角的“添加配置”标志,选第一个就好 ? ? ? ? ? ? ? ? 5.你会发现在"configurations"下出现了一个大括号的内容,每个大括号都是一个配置信息,?且对应有名称"name",你在运行和调试栏中会发现有个下拉选项,该下拉栏中会出现每个配置信息的名称,他决定着你调试时使用哪个配置信息 ? ? ? ? ? ? ? ? 6.关于配置信息中的每个成员表示什么,你只需将鼠标放在上面便会知晓 ? ? ? ? ? ? ? ? 总的launch.json为:
至此launch.json创建完成,你可以设置一个断点,然后按F5进入调试,看一看能否命中你设置的断点,如果可以,则说明文件配置成功 2.tasks.json文件:据我了解这是一个任务脚本(我暂时只了解将其用于launch前的准备任务) ? ? ? ? 创建tasks.json文件: ? ? ? ? ? ? ? ? 1.点击顶部栏的终端,选择“配置默认生成任务”,如果你像我一样只关注调试,那后面的选项随便选,生成tasks.json文件后删除tasks里的所有内容,删除后的tasks为:"tasks": [] ????????????????(注:你同样可以将鼠标放在成员上了解该成员的作用) ? ? ? ? ? ? ? ? 2.在tasks下创建task任务,每一个task任务都在一个{}大括号中: ? ? ? ? ? ? ? ? 3.首先明确我们使用task.json是用来做为调试前的准备工作,在调试之前我不想再在命令行中输入cmake,make等指令,将这些任务都放在task中,因此我们需要准备两条task command任务 ? ? ? ? ? ? ? ? 4.创建第一个任务:该任务的通俗理解是在build文件夹下执行:cmake ../ 命令
? ? ? ? ? ? ? ? (你可以去了解“type”成员,这里不做解读,我尝试去掉type成员最终也成功了) ? ? ? ? ? ? ? ? label成员你可以理解为该任务的标签 ? ? ? ? ? ? ? ? option这一句的意思是进入${workspaceFolder}/build目录,即在build目录下进行该任务 ? ? ? ? ? ? ? ? command是任务命令 ? ? ? ? ? ? ? ? args是任务命令的参数,你可以将参数"../"移动到args中,也可以直接写到command中 ? ? ? ? ? ? ? ? 4.创建第二个任务:该任务的通俗理解是在build文件夹下执行:make 命令
? ? ? ? ? ? ? ? 5.因为上述两个任务是独立的,因此我们将其整合为一个任务中,重新创建一个任务,该任务依赖上述两个任务
? ? ? ? ? ? ? 可以看到该任务没有command成员,而是加入了dependsOn成员,故我将此理解为一个依赖任务;该任务的通俗理解是在build文件夹下执行:cmake ../? +? make? 命令 ? ? ? ? ? ? ? ? 总的tasks.json为:
(在vscode软件中按下?F1按键进入命令搜索模式,顶部会出来一个输入框,在框中输入tasks,会出来一个:"任务:运行任务"的选项,点击后可以看到你在tasks.json中配置的任务,你可以随便点击一个任务来运行该任务,后续弹出的选择框选择“继续而不扫描任务输出”即可。你也可以在"任务:运行任务"选项的右侧点击齿轮来设置对应的快捷键) 至此两个文件均已构建,那么如何能够让tasks.json在launch前发挥作用呢? 在launch.json文件的"configurations"的最后添加一个成员:"preLaunchTask",并指定要执行的任务为build标签对应的任务,即最后创建的依赖任务,最后的launch.json文件如下:
至此,所有的json文件已完成,你可以尝试修改代码后直接按F5,将会执行编译并进入调试 五.关于Pangolin的安装?? ? ? ? 1.去github下载库到你选择的文件夹下 ? ? ? ? 2.进入你选择的文件目录,做如下操作
? ? ? ? 最后一步很关键,我在安装时找了许多资料,很多都没有最后一步,导致在编程时,
? ? ? ? 该句会报错(出现下划线)? (但似乎能够正常make) ????????在进行最后一步操作后问题解决,下划线消失,且在输入Pangolin时有代码补充 ? ? ? ? 查了一下该句的意思是将make后生成的程序安装到系统中? ? ? ? ? ? 3.在CMakeLists.txt中添加一行内容
? ? ? ? 4.补充执行:
? ? ? ? 在执行生成的可执行代码时,如果没有该句命令会出现如下报错:
? ? ? ? 原因:由于Pangolin刚安装但还没有生效 六.关于vscode缩进问题?明明设置了Tab Size为8但每个缩进只有2个空格 解决:文件->首选项->设置->搜索 Tab->找到Editor:Tab Size->点击"Editor:?Detect Indentation"后会进行跳转->取消该选项重启即可 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 1:58:37- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |