0. 简介

之前很多工作的单步调试都是在Clion或者Pycharm完成的。但是这个很多时候因为各种原因不太方便。为此我们尝试使用Vscode来完成相关的配置实现

1. C++环境配置

在vscode 官方网站上下载ubuntu 版本的vscode软件进行安装。
查看是否安装gcc 以及 g++

gcc -v
g++ -v 

如果没有进行安装,则需要进行下载

sudo apt-get update 
sudo apt-get install build-essential gdb 

1.1 配置IntelliSense

在vscode 中配置该功能,十分的简单。只需要在Extension中添加C/C++插件即可。

在这里插入图片描述

1.2 生成.vscode 文件下的三个文件

1.2.1 生成tasks.json 文件

首先点击右上角的执行符号,选择Run C/C++ File。选择g++ build and debug active file作为系统中的指定的编译器。(如下两图所示)
在这里插入图片描述

在这里插入图片描述
然后就会生成.vscode以及对应的tasks.json了。tasks.json文件相当于vscode的.sh或.bat文件,用来记录一系列操作的宏,可以用来设置如何编译文件,如何运行文件,几乎.sh能干的都可以干。

{// 按下 Ctrl+Shift+B 会触发你的构建任务(即本tasks.json文件), 可以用这个指令/按键来单独确认tasks.json是否有问题
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++ 生成活动文件",
            "command": "/usr/bin/g++",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",// 对应下面的options中的cwd所指定的那个目录下的文件.如果还有其他的.cpp文件,也需要填写到此处
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"//生成的用于调试的可执行程序的完整路径 
            ],
            "options": {
                "cwd": "${fileDirname}" // .cpp文件所在的目录路径
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}
1.2.2 launch.json

然后点击添加调试的配置文件,就可以生成launch.json文件了
在这里插入图片描述
在这里插入图片描述

{
    "configurations": [// 配置数组,每个元素定义了一个特定的调试配置。你可以设置多个配置来支持不同的调试场景(例如,不同的程序或不同的调试类型)。
        {
            "name": "C/C++: g++ 生成和调试活动文件",// 配置的显示名称,会出现在 VSCode 的调试启动配置菜单中。这里的名称表示这是使用 GDB 进行的调试启动配置
            "type": "cppdbg",// 指定调试器类型。cppdbg 是 C/C++ 调试器的标识符,表示这个配置是用于调试 C 或 C++ 程序。
            "request": "launch",// 指示调试会话的启动类型。launch 表示 VSCode 将启动并调试一个程序。另一种类型是 attach,表示附加到一个已经运行的进程。
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],,// 一个字符串数组,包含传递给程序的命令行参数
            "stopAtEntry": false,// 指定调试器是否在程序入口点暂停。false 表示不在程序开始时自动停止。
            "cwd": "${fileDirname}",// 设置程序的当前工作目录。${fileDirname} 是当前打开文件的目录路径.配置的和"program"中的目录一样即可,注意是目录
            "environment": [],
            "externalConsole": false,// 指定是否使用外部控制台窗口来运行调试程序。false 表示在 VSCode 的内部终端中运行
            "MIMode": "gdb",// 指定调试器接口模式,gdb 表示使用 GNU Debugger。
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++ 生成活动文件", // 调试会话开始前执行的任务
            "miDebuggerPath": "/usr/bin/gdb"
        }
    ],
    "version": "2.0.0"
}


/*
vscode配置文件(如 tasks.json 和 launch.json)中常用的变量:
${workspaceFolder} :代表你当前打开的工作区(Workspace)的根目录。如果你有多个工作区文件夹,它指的是当前活动文件所属的工作区文件夹的根目录
${file} :当前在编辑器中打开的文件的完整路径
${fileWorkspaceFolder} :当前打开文件所属的工作区文件夹路径
${fileDirname} :当前在编辑器中打开的文件所在的目录的路径
${fileBasename} : 当前在编辑器中打开的文件的基本文件名,包括文件扩展名。
${fileBasenameNoExtension} :当前在编辑器中打开的文件的基本文件名,但不包括文件扩展名
${fileExtname} :当前在编辑器中打开的文件的文件扩展名
${relativeFile} :当前打开文件相对于 ${workspaceFolder} 的路径
${relativeFileDirname} :当前打开文件的目录相对于 ${workspaceFolder} 的路径
${lineNumber} :当前编辑器光标所在的行号
${selectedText} :当前在编辑器中选中的文本
${execPath} :VSCode 可执行文件的路径

${workspaceFolderBasename}:在Visual Studio Code中打开的文件夹名
${cwd}:Task启动时的工作目录
${defaultBuildTask}:默认的Build Task的名字
${env:Name}:引用环境变量
${config:Name}:可以引用Visual Studio Code的设置项
${input:variableID}:传入输入变量
*/
1.2.3 c_cpp_properties.json

最后我们需要生成C/C++配置文件c_cpp_properties.json
Ctrl+Shift+P 然受搜索C/C++:Edit configurations(UI) 即生成该文件。

在这里插入图片描述

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c17",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "linux-gcc-x64"
        }
    ],
    "version": 4
}
1.2.4 增加配置文件

在这里插入图片描述

2. Python环境配置

…详情请参照古月居

Logo

2万人民币佣金等你来拿,中德社区发起者X.Lab,联合德国优秀企业对接开发项目,领取项目得佣金!!!

更多推荐