vscode 配置C++环境 基于Deepin/Linux

若文中图片无法加载,请访问图片备份地址

为了避免下次配置环境时踩坑,现将正确的配置过程记录下来

1. 版本环境

Deepin 20.1 社区版

VScode October 2020 (version 1.51)

版本只要是最近的,影响不大

2. 配置过程

2.1 安装vscode

此处各显神通即可,Deepin可直接在应用商店中安装,其他Linux版本可去官网下载.deb文件后安装。

2.2 安装依赖

在终端依次执行下列命令:

sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install gdb

若已安装,升级至最新版即可

sudo apt-get upgrade

2.3 vscode内的配置

2.3.1 安装扩展

安装C/C++扩展 id:ms-vscode.cpptools

C/C++扩展

有需要的话可安装中文语言包扩展 id:ms-ceintl.vscode-language-pack-zh-hans

中文语言包扩展

2.3.2 json文件配置

先展示文件目录结构


文件目录结构
  1. 首先创建一个工作文件夹,并用vscode打开(此处为cpp_file文件夹)

  2. 创建一个新的文件做测试用例(此处为test.cxx)

    #include 
    using namespace std;
    
    int main(){
        int a;
        cin>>a;
        cout<
  3. 创建一个文件夹用来存放编译输出的可执行文件,类似于windows下的.exe文件(此处为out文件夹)

此处为个人喜好,比较喜欢将输出文件放置在一起,如不需要,可略过此步骤

  1. F5进行调试,选择 C++(GDB/LLDB),继续选择 g++ 生成和调试活动文件
    此时会生成一个.vscode文件夹,里面包含launch.json和tasks.json

    生成.vscode文件夹

    此时处于调试状态,可点击顶部橙色方块停止调试。

  2. 编辑launch.json文件

    自动生成的launch.json文件中的参数若有中文,建议改为英文,tasks.json同理
    请注意下方json文件中所写的一些注释信息

    {
        // 使用 IntelliSense 了解相关属性。 
        // 悬停以查看现有属性的描述。
        // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
            {
                "name": "(gdb) Launch",
                "type": "cppdbg",
                "request": "launch",
                "program": "${workspaceRoot}/out/${fileBasenameNoExtension}",
                // 此处若可执行文件不想放在一个文件夹中,则把 /out 删去即可
                "args": [],
                "stopAtEntry": false,
                "cwd": "${workspaceRoot}",
                // 此处${workspaceRoot}与${workspaceFolder}应该类似,但网上资料大部分用的前者
                "environment": [],
                "externalConsole": false,
                "MIMode": "gdb",
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ],
                "preLaunchTask": "C/C++: g++ build active file",
                // 此处要与tasks.json中的label相同
                "miDebuggerPath": "/usr/bin/gdb"
            }
        ]
    }
    
  3. 编辑tasks.json文件

    {
        "tasks": [
            {
                "type":"shell",
                // 此处type的属性问题下面详说
                "label": "C/C++: g++ build active file",
                "command": "/usr/bin/g++",
                "presentation": {
                    "echo": true,
                    "reveal": "always",
                    "focus": false,
                    "panel": "shared",
                    "showReuseMessage": true,
                    "clear": false
                },
                "args": [
                    "-g",
                    "${file}",
                    "-o",
                    "${workspaceRoot}/out/${fileBasenameNoExtension}"
                ],
                // 此处与launch.json中类似,若不需要则删去 /out
                "options": {
                    "cwd": "${workspaceFolder}"
                },
                "problemMatcher": [
                    "$gcc"
                ],
                "group": {
                    "kind": "build",
                    "isDefault": true
                },
                "detail": "Task generated by Debugger."
            }
        ],
        "version": "2.0.0"
    }
    

    tasks.json中的type包含两种属性,shellprocess,二选一。经尝试,两种都可成功运行。

    但stackoverflow上关于此问题的回答中,有人说在运行多个cpp项目时,将process改成shell后才成功运行

    因此综合考虑,此处用了shell属性

    3. 调试运行

    不出意外的话,此时就可以编译运行c++了!

你可能感兴趣的:(vscode 配置C++环境 基于Deepin/Linux)