首页 > 编程语言 >学习 C++,从搭建 Visual Studio Code 开始

学习 C++,从搭建 Visual Studio Code 开始

时间:2024-04-30 17:24:45浏览次数:16  
标签:BIN Code Windows json C++ Visual tasks true

0. 声明

  1. 本文针对 WindowsLinux 系统配置 Visual Studio Code,Mac 贵族 请勿 入内。
  2. 本文以 Windows 10 系统演示。

1. 准备工作

1. 1. 安装 Visual Studio Code

Windows:官网下载链接

安装界面

选择 Windows (Windows 10, 11) 进行安装

Linux:在应用商店搜索 Visual Studio Code,安装即可。

1. 2. 下载 gcc/g++

Windows下载链接

解压后存储在一个地方,比如 C:\mingw64。那我就把 C:\mingw64C:\mingw64\bin 这两个目录都添加到环境变量 PATH 中(如果不会,请自行百度)。

温馨提示:请不要配置完就删掉,删掉后就用不了了。

Linux:按 Ctrl+Alt+T 打开终端,输入以下命令安装:

sudo apt update && sudo apt upgrade
sudo apt install gcc
sudo apt install g++
sudo apt install gdb

2. 配置

2. 1. 打开文件夹

打开文件夹

2. 2. 安装中文翻译包

在扩展中搜索 Chinese (Simplified),找到对应插件,点击 Install,并根据右下角的弹窗重启应用。

安装中文翻译包

2. 3. 安装 C/C++ 插件

在扩展中搜索 C/C++,找到 C/C++C/C++ Extension Pack 这两个插件,点击 安装 即可。

安装 C/C++ 插件

2. 4. 使用 Code Runner 插件运行代码

  1. 在扩展中搜索 Code Runner,找到后点击 安装

    安装 Code Runner 插件

  2. 打开 Code Runner扩展设置

    打开 Code Runner 扩展设置

  3. 勾选 Code Runner: Run in terminal

    勾选"在终端运行"选项

此时,在文件夹中新建一个 cpp 文件,按 Ctrl+Alt+N 就可以运行啦~

3. 使用 VSCode 调试

如果不喜欢 Code Runner 可执行文件生成在与代码同一目录,或需要调试,可以按照以下步骤进行配置:

  1. 在文件夹根目录新建 .vscode 文件夹。

    新建 .vscode 文件夹

  2. .vscode 文件夹中新建 launch.json 文件。

    新建 launch.json 文件

  3. 如果是 Windows 用户,请在 launch.json 文件中添加以下内容:

    {
        // 使用 IntelliSense 了解相关属性。 
        // 悬停以查看现有属性的描述。
        // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Debug",
                "type": "cppdbg",
                "request": "launch",
                "program": "C:\\Windows\\System32\\cmd.exe",
                "args": ["/c", "${workspaceFolder}\\BIN\\${fileDirnameBasename}\\${fileBasenameNoExtension}.exe" /* 这里可以百度设计自己的可执行文件路径 */, "&", "pause"],
                "stopAtEntry": false,
                "cwd": "${fileDirname}",
                "environment": [],
                "externalConsole": true,
                "internalConsoleOptions": "neverOpen",
                "MIMode": "gdb",
                "miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe", // 这里填写你自己的 gdb 路径
                "preLaunchTask": "build"
            }
        ]
    }
    

    如果是 Linux 用户,请在 launch.json 文件中添加以下内容:

    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Debug",
                "type": "cppdbg",
                "request": "launch",
                "program": "${workspaceFolder}/BIN/${fileDirnameBasename}/${fileBasenameNoExtension}", // 这里可以百度设计自己的可执行文件路径
                "args": [],
                "stopAtEntry": false,
                "cwd": "${workspaceFolder}",
                "environment": [],
                "externalConsole": false,
                "MIMode": "gdb",
                "preLaunchTask": "compile",
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ]
            }
        ]
    }
    
  4. 保存 launch.json 文件。

  5. .vscode 文件夹中新建 tasks.json 文件。

    新建 tasks.json 文件

  6. 如果是 Windows 用户,请在 tasks.json 文件中添加以下内容:

    {
        "version": "2.0.0",
        "tasks": [
            {
                "label": "build",
                "type": "shell",
                "command": "g++",
                "args": [
                    "${file}",
                    "-o",
                    "${workspaceFolder}\\BIN\\${fileDirnameBasename}\\${fileBasenameNoExtension}.exe", // 这里可以百度设计自己的可执行文件路径
                    "-g",
                    "-Wall",
                    "-Wextra",
                    "-static-libgcc",
                    "-fexec-charset=GBK",
                    "-std=c++2a"
                ],
                "group": "build",
                "presentation": {
                    "echo": true,
                    "reveal": "always",
                    "focus": false,
                    "panel": "new"
                },
                "problemMatcher": "$gcc"
            },
            {
                "label": "run",
                "type": "shell",
                "dependsOn": "build",
                "command": "${workspaceFolder}\\BIN\\${fileDirnameBasename}\\${fileBasenameNoExtension}.exe", // 这里可以百度设计自己的可执行文件路径
                "group": {
                    "kind": "test",
                    "isDefault": true
                },
                "presentation": {
                    "echo": true,
                    "reveal": "always",
                    "focus": true,
                    "panel": "new"
                }
            },
            {
                "type": "cppbuild",
                "label": "C/C++: g++.exe 生成活动文件",
                "command": "C:/Program Files/mingw64/bin/g++.exe", // 这里填写你自己的 g++ 路径
                "args": [
                    "-fdiagnostics-color=always",
                    "-g",
                    "${file}",
                    "-o",
                    "${workspaceFolder}\\BIN\\${fileDirnameBasename}\\${fileBasenameNoExtension}.exe" // 这里可以百度设计自己的可执行文件路径
                ],
                "options": {
                    "cwd": "C:/Program Files/mingw64/bin"
                },
                "problemMatcher": [
                    "$gcc"
                ],
                "group": {
                    "kind": "build",
                    "isDefault": true
                },
                "detail": "调试器生成的任务。"
            }
        ]
    }
    

    如果是 Linux 用户,请在 tasks.json 文件中添加以下内容:

    {
        "version": "2.0.0",
        "tasks": [{
                "label": "compile",
                "command": "g++",
                "args": [
                    "-g",
                    "${file}",
                    "-o",
                    "${workspaceFolder}/BIN/${fileDirnameBasename}/${fileBasenameNoExtension}" // 这里可以百度设计自己的可执行文件路径
                ],
                "problemMatcher": {
                    "owner": "cpp",
                    "fileLocation": [
                        "relative",
                        "${workspaceRoot}"
                    ],
                    "pattern": {
                        "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                        "file": 1,
                        "line": 2,
                        "column": 3,
                        "severity": 4,
                        "message": 5
                    }
                },
                "group": {
                    "kind": "build",
                    "isDefault": true
                }
            }
        ]
    }
    
  7. 保存 tasks.json 文件。

这时,按 Crtl+F5 即可运行,按 F5 即可调试啦~

(给大家看看我配置的目录叭)

目录配置预览

4. 常见问题

  1. 如果运行时 tasks.json 或者 lauch.json 报错,可以检查一下环境变量是否配置正确,tasks.jsonlaunch.json 是否有填错的内容或多加了什么导致语法错误。

  2. 参照这张目录图片。

    目录

    如果按照我的可执行文件配置,出现 No such file or directory 错误,①请检查是否新建 BIN 文件夹(必须是大写的 BIN);②例如我要运行 test.cpp 文件,位于 test 目录下,那么需要确保 BIN 目录下是否有 test 目录。


本篇文章到这里就结束了,感谢小伙伴们的阅读,同时希望大家帮忙点下 赞同 啦~

标签:BIN,Code,Windows,json,C++,Visual,tasks,true
From: https://www.cnblogs.com/TheSoundOfWA/p/18168399

相关文章

  • C/C++、Java 与 Python 中未初始化变量的处理比较
    在C/C++中,未初始化的变量的值是不确定的,可能是随机的。 在Python中,如果直接使用未初始化的变量,会引发NameError异常。Python要求变量在使用前必须进行赋值或初始化。 而在Java中,直接使用未初始化的局部变量会导致编译错误,必须先对变量进行初始化。 C++和Java在字......
  • Barcode Detection API
    BarcodeDetectionAPI:用于检测图像中的条形码和二维码//创建新检测器constbarcodeDetector=newBarcodeDetector({formats:["qr_code"],});//检查支持的类型BarcodeDetector?.getSupportedFormats().then((supportedFormats)=>{supportedFormats.forEach(......
  • leedcode-排列硬币
    自己写的:importmathclassSolution:defarrangeCoins(self,n:int)->int:#计算判别式discriminant=1+8*n#计算根root1=(-1+math.sqrt(discriminant))/2#返回地板取整后的根returnmath.floo......
  • leetcode算法热题--字母异位词组合
    题目给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词是由重新排列源单词的所有字母得到的一个新单词。示例1:输入:strs=["eat","tea","tan","ate","nat","bat"]输出:[["bat"],["nat","tan"],[&q......
  • 一文详解C++的vector
    vector是C++中使用频率最高的标准库,可以在程序运行时动态改变其大小(例如添加或删除元素),因此又被称为动态数组。使用时,用户无需在意底层内存管理的细节,因为它已经帮你做了这件事情。使用前需要导入<vector>头文件,以下是vector的常见用法:1.创建vectorvector用于保存一组同类型的......
  • Smart IME 智能切换中文与英文输入法 - vscode插件推荐
    SmartIME智能切换中文与英文输入法-vscode插件推荐IDEA插件SmartInputVSCode插件SmartIME插件SmartIME本文是针对vscode插件,正常安装SmartIME,就自动安装另外2个插件了SmartIME需要安装IMEandCursor与HyperScopes插件。缺点vscode下,只能是中文......
  • leetcode算法热题--两树之和
    题目给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值`target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例1:输入:nums=[2,7,11,15......
  • 【LeetCode 1648】销售价值减少的颜色球
    题目描述原题链接:LeetCode.1648销售价值减少的颜色球解题思路题意很容易理解,就是每次挑剩余同色球数量最大的颜色卖得到最大价值,总共卖orders个球的最大总价值;最快速直观暴力的解法是按照同色球数量排序,每次取数量最大值累加到总价值中并且将数量减一后重新排序,重复or......
  • 在鼠标右键菜单中新增新建Markdown文件选项(VSCode)
    引言正常情况下,我们新建md文件有两种方式:一是通过Markdown编辑器新建,二是新建txt文件再修改后缀。但是在Windows系统中,我们可以通过修改注册表来新增右键菜单选项。这里我们可以通过修改注册表来新增新建Markdown文件选项,这样可以减少新建文件的繁琐操作。下面就来演示在Window......
  • 浅析OpenCV分水岭变换watershed函数的markers参数[C++]
    0.前言本文是笔者在学习C++OpenCV库时学习心得,在学习分水岭变换函数时,由于缺少相关学习资料,导致笔者理解吃力,故写此文章阐述一下对该函数的理解,希望对其他学习人士提供帮助。本文主要介绍了watershed函数参数以及参数实际表示。请您按文章次序阅读。您需要提前了解的相关知......