【Linux下C++开发】第三篇·使用VSCode进行C++开发

系列文章目录

·【Linux下C++开发】第一篇·Linux系统基本操作
·【Linux下C++开发】第二篇·开发环境搭建及gcc编译器
​·【Linux下C++开发】第三篇·使用VSCode进行C++开发
·【Linux下C++开发】第四篇·CMake



一、VSCode配置

1.插件安装

在vscode中使用c++和cmake编写文件工程,需要安装以下几个插件:

  • C/C++
  • Cmake
  • Cmake Tools
  • Chinese(汉化软件)

安装步骤如下图:
在这里插入图片描述在搜索栏中进行搜索即可逐个安装
安装完Chinese后,可以使用快捷键Ctrl+Shift+p,然后输入Language,选择Configure Display Language然后选择Chinese,即可完成汉化。

2.launch.json和tasks.json配置

点击左侧调试,然后点击创建launch.json文件,选择第一项G++/GDB,然后选择第一项g++,然后在弹出的框中之间选择中间的退出按钮即可。
然后会弹出以下界面:
在这里插入图片描述launch.json的修改主要有两项:

  1. “program”:这里需要填入要调试的可执行文件的绝对路径
  2. “preLaunchTask”:这里填入调试开始前要执行的任务,需要填入tasks.json中的Build项

tasks.json的修改也很明了,将下面这段代码复制代替源代码:

{
   {
    "version": "2.0.0", //文件版本
    "options": {
        "cwd": "${fileDirname}/build"//编译的工作目录,也就是build目录
    },
    "tasks": [
        {
            "type": "shell",
            "label": "cmake",
            "command": "cmake",
            "args": [
                ". .",
            ]
        },
         {
            "label": "make",
            "group": {
                 "kind": "build",
                 "isDefault": true
            },
            "command": "make",
            "args": [

             ]
         },
         {
                "type": "Build",
                 "dependsOrder": "sequence",
                 "dependsOn": [
                    "cmake",
                    "make"
                ]
            }
    ]
}

代码的意思是,创建了三个任务(cmake、make、Build),Build任务是需要在launch.json中的"preLaunchTask"中设置的预先执行的,它的作用主要是设置另外两个任务的执行顺序,先执行cmake,再执行make,这和我们使用命令行编译cmake时是一样的!

然后cmake任务的工作参数设置为…,这等效于编译时的“cmake …”,在上层文件夹生成Makefile;make任务的参数不设置,也就是相当于“make”,这样可以在使用调试时(F5)自动帮我们完成编译的步骤。

修改完的launch.json:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++ - 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/build/testcmake",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
             "preLaunchTask": "Build",
            "miDebuggerPath": "/usr/bin/gdb"
        }
    ]
}

二、快捷键

Ctrl + p转到文件
Ctrl + Shift + p打开命令板
Ctrl + `打开终端
Ctrl + s保存文件
Ctrl + z撤销
Alt+up/down当前行上/下移
F2变量统一命名

在这里插入图片描述


三、项目编译

1.HelloSLAM

$ cd test
$ ls
$ code . #在当前文件夹下打开vscode

新建一个.cpp文件,一定要加上后缀名,然后编写一段简单的代码

#include <iostream>
using namespace std;

int main()
{
	cout << "Hello SLAM!" << endl;
	return 0;
}

先使用快捷键Ctrl + s保存修改,然后快捷键Ctrl+`打开内嵌终端,使用g++编译代码生成可执行文件,然后输入./test运行
在这里插入图片描述也可以点击右上角的三角号,直接运行代码,这时会在OUTPUT输出端显示

在这里插入图片描述

2.libhello

在平时编写工程时常用的编写头文件和相应的函数文件,然后在主函数中调用这些函数,这里我们就实现在include文件夹中编写libhello.h头文件,在src文件夹中编写libhello.cpp的函数,然后在test的主函数中调用。

文件结构是这样的:
在这里插入图片描述libhello.h:

#ifndef _LIBHELLO_H_
#define _LIBHELLO_H_

#include <iostream>
using namespace std;

void printHello();


#endif // !_LIBHELLO_H_

libhello.cpp:

#include "libhello.h"

void printHello()
{
    cout << "Hello SLAM" << endl;
}

test.cpp:

#include "libhello.h"

using namespace std;

int main(int argc, char **argv)
{
	// cout << "Hello SLAM!" << endl;

	printHello();
	return 0;
}

在终端中执行以下语句,即可编译生成可执行文件:

$ g++ test.cpp src/libhello.cpp -Iinclude -o test2
$ ./test2 #运行可执行文件

在这里插入图片描述


四、项目调试

进行launch.json和tasks.json文件的配置后,不需要cmake编译,直接点击调试键即可进行自动化编译,并进入调试界面,可以在行号左侧添加断点,进行各种各样的调试。
在这里插入图片描述这时上方显示了一个调试栏,可以进行单步调试、进入函数等调试操作;左侧也有变量窗口和监视器,都可以进行各种调试工作。

  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值