关于使用vscode搭建c/c++编程环境

目录

关于使用vscode搭建c/c++编程环境

一、前言

一直觉得vscode是生产强有力的生产工具,基于此,做一篇学习笔记进行记录。

二、安装 IDE

访问vscode官网(Visual Studio Code - Code Editing. Redefined)

根据操作系统选择相应版本的 VS Code 进行下载和安装。

二、安装TDM-GCC安装

访问:

TDM-GCC安装(Download | tdm-gcc (jmeubank.github.io))

选中

下载完对应的资源之后,傻瓜式安装即可。TDM-GCC会自动加入环境变量。

三、安装C/C++环境

  1. Windows 系统需要安装 MinGW(配置教程);MacOS 自带 Clang ,无须安装。
  2. 在 VS Code 的插件市场中搜索 c++ ,安装 C/C++ Extension Pack 。

四、编写代码并进行编译

我这里是打开一个了已有的代码,编写完成之后,配置一下对应的launch.json文件,launch.json文件是用来配置和自定义调试会话的关键。

launch.json的内容如下:

复制代码
{
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\TDM-GCC-64\\bin\\gdb.exe",
            
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            // "preLaunchTask": "C/C++: g++.exe 生成活动文件",
        }
    ],
    "version": "2.0.0"
}

在弄一个tasks.json的文件,内容如下:

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

其中对应的路径文件需要根据自己电脑安装的路径进行替换,我一般使用Everything来进行搜索一下,可以快速找到对应的gdb.exe路径用来进行替换

设置好了之后,最终 Vscode 工程目录结构如下,测试代码来自 hello-algo,在此感谢大佬 @Krahets

其他文件省略展示

打开一个.c的文件,进行调试:

打开一个.cpp的文件,进行调试看看:

经过实验,可以进行调试输出,是一次成功的实践。

有时候打开别人的代码时,看到中文乱码,我这也一并进行记录一下,方便后期查阅,打开设置按键,找到编辑器,找到文本,找到Encoding的选项,进行选择。

本文完!!

相关推荐
FlightYe5 小时前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频
蹊黎6 小时前
Linux 下用 C 语言实现进度条
linux·c语言·单片机
by209996 小时前
C++ 智能指针的所有权与使用
开发语言·c++·经验分享
Rover Ramble6 小时前
C++ 用互斥锁实现读写锁
开发语言·c++
你怎么知道我是队长7 小时前
C++零基础入门第2周:数据类型、运算符与表达式完全指南(附20段可运行代码+避坑清单)
c++
say_fall7 小时前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++
雪落漂泊7 小时前
C++算法 滑动窗口篇(下)
开发语言·c++
爱聊灵光的维C8 小时前
从看见世界到重构认知:在视觉与硬件的交汇处,寻找我们这代人的北极星
c语言·物联网·计算机视觉·重构·硬件工程·射频工程
AI+程序员在路上8 小时前
RV1126B 上支持的模型及全流程应用--从CNN及语音到 LLMVLM 与跨平台选型
linux·c语言·人工智能
揽星河..9 小时前
【C语言】扫雷游戏
c语言·算法·游戏