• C++ 配置VSCode开发环境


    C++配置VSCode开发环境

    简介

    Visual Studio Code (VSCode) 是一款开源的轻量级代码编辑器。它支持许多编程语言,包括C++。本文档将详细介绍如何在Windows环境下配置VSCode的C++开发环境。

    安装步骤

    1. 安装Visual Studio Code

    首先,你需要下载并安装Visual Studio Code。你可以从其官方网站 https://code.visualstudio.com 下载最新版的Visual Studio Code。

    2. 安装MinGW

    MinGW是一个用于Windows平台的GCC编译器。你可以从其官方网站 https://mingw-w64.org 下载最新版的MinGW。

    安装完成后,你需要将MinGW的bin目录添加到系统的PATH环境变量中。具体步骤如下:

    • 打开“控制面板” -> “系统和安全” -> “系统” -> “高级系统设置” -> “环境变量”。
    • 在“系统变量”部分,找到并选择“Path”变量,然后点击“编辑”按钮。
    • 在新的窗口中,点击“新建”按钮,然后输入MinGW的bin目录的路径,例如D:\mingw64\bin
    • 点击“确定”按钮关闭所有窗口。
      在这里插入图片描述

    3. 安装C++插件

    在VSCode中,点击左侧边栏的扩展图标,然后在搜索框中搜索需要安装的扩展

    推荐安装:

    Chinese (Simplified)
    扩展ID:MS-CEINTL.vscode-language-pack-zh-hans
    https://marketplace.visualstudio.com/items?itemName=MS-CEINTL.vscode-language-pack-zh-hans

    在这里插入图片描述

    C/C++
    扩展ID:ms-vscode.cpptools
    https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools
    在这里插入图片描述

    Better C++ Syntax
    扩展ID:jeff-hykin.better-cpp-syntax
    https://marketplace.visualstudio.com/items?itemName=jeff-hykin.better-cpp-syntax

    在这里插入图片描述

    4. 配置VSCode

    创建一个文件夹作为c++ 开发的工作区 例如 E:\vswork\zcjj

    在VSCode中选择文件-将文件夹添加到工作区 然后在该文件夹下创建文件夹 .vscode

    在这里插入图片描述
    在文件夹.vscode中生成三个文件用于c++编译器的配置

    在这里插入图片描述

    c_cpp_properties.json

    {
        "configurations": [
            {
              "name": "Win32",
              "includePath": ["${workspaceFolder}/**"],
              "defines": ["_DEBUG", "UNICODE", "_UNICODE"],
              "compilerPath": "D:\\mingw64\\bin\\g++.exe",   /*修改成自己bin目录下的g++.exe,这里的路径和电脑里复制的文件目录有一点不一样,这里是两个反斜杠\\*/
              "cStandard": "c11",
              "cppStandard": "c++17",
              "intelliSenseMode": "${default}"
            }
          ],
          "version": 4
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    launch.json

    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "g++.exe - Build and debug active file",
                "type": "cppdbg",
                "request": "launch",
                "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${fileDirname}",
                "environment": [],
                "externalConsole": false,
                "MIMode": "gdb",
                "miDebuggerPath": "D:\\mingw64\\bin\\gdb.exe",
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ],
                "preLaunchTask": "C/C++: g++.exe 生成活动文件"
            }
        ]
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    tasks.json

    {
        "tasks": [
            {
                "type": "cppbuild",
                "label": "compile",
                "command": "D:\\mingw64\\bin\\g++.exe",
                "args": [
                    "-fdiagnostics-color=always",
                    "-g",
                    "${file}",
                    "-o",
                    "${fileDirname}\\${fileBasenameNoExtension}.exe"
                ],
                "options": {
                    "cwd": "${fileDirname}"
                },
                "problemMatcher": [
                    "$gcc"
                ],
                "group": "build",
                "detail": "调试器生成的任务。"
            },
            {
                "type": "cppbuild",
                "label": "C/C++: g++.exe 生成活动文件",
                "command": "D:\\mingw64\\bin\\g++.exe",
                "args": [
                    "-fdiagnostics-color=always",
                    "-g",
                    "${file}",
                    "-o",
                    "${fileDirname}\\${fileBasenameNoExtension}.exe"
                ],
                "options": {
                    "cwd": "${fileDirname}"
                },
                "problemMatcher": [
                    "$gcc"
                ],
                "group": {
                    "kind": "build",
                    "isDefault": true
                },
                "detail": "调试器生成的任务。"
            }
        ],
        "version": "2.0.0"
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48

    测试你的环境

    现在,你可以创建一个新的C++文件来测试你的环境。例如,你可以创建一个名为h.cpp的文件,内容如下:

    #include 
    
    int main() {
        std::cout << "Hello, World!" << std::endl;
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    然后,你可以按F5来运行你的程序,如果一切配置正确,你应该可以在你的工程目录下看到一个新的h.exe文件。并在终端中看到输出Hello, World!

    在这里插入图片描述

    c_cpp_properties.jsontasks.json 是 Visual Studio Code 的配置文件,它们分别用于配置 C/C++ 插件的属性和构建任务。

    c_cpp_properties.json

    c_cpp_properties.json 文件用于配置 C/C++ 插件的属性,例如编译器路径、C/C++ 标准版本、IntelliSense 模式等。以下是一个常见的配置示例:

    {
        "configurations": [
            {
                "name": "Win32",
                "includePath": ["${workspaceFolder}/**"],
                "defines": ["_DEBUG", "UNICODE", "_UNICODE"],
                "windowsSdkVersion": "10.0.19041.0",
                "compilerPath": "D:\\mingw64\\bin\\gcc.exe",
                "cStandard": "c11",
                "cppStandard": "c++17",
                "intelliSenseMode": "gcc-x64"
            }
        ],
        "version": 4
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    在这个示例中:

    • "name" 是配置的名称。
    • "includePath" 是头文件的搜索路径。在这里,我们使用了 ${workspaceFolder}/**,这表示所有在工作区目录及其子目录下的头文件都会被包含在内。
    • "defines" 是预处理器定义。在这里,我们定义了 _DEBUGUNICODE_UNICODE
    • "windowsSdkVersion" 是 Windows SDK 的版本。这个选项通常用于在 Windows 平台上开发。
    • "compilerPath" 是编译器的路径。在这里,我们使用了 MinGW 的 GCC 编译器。
    • "cStandard""cppStandard" 分别是 C 和 C++ 的标准版本。
    • "intelliSenseMode" 是 IntelliSense 的模式。在这里,我们使用了 gcc-x64 模式,这表示我们使用 GCC 编译器,并且目标平台是 x64。

    tasks.json

    tasks.json 文件用于配置构建任务,例如编译、链接等。以下是一个常见的配置示例:

    {
        "version": "2.0.0",
        "tasks": [
            {
                "type": "shell",
                "label": "g++ build active file",
                "command": "D:\\mingw64\\bin\\g++.exe",
                "args": [
                    "-g",
                    "${file}",
                    "-o",
                    "${fileDirname}/${fileBasenameNoExtension}.exe"
                ],
                "options": {
                    "cwd": "D:/mingw64/bin"
                },
                "problemMatcher": ["$gcc"],
                "group": {
                    "kind": "build",
                    "isDefault": true
                }
            }
        ]
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    在这个示例中:

    • "type" 是任务的类型。在这里,我们使用了 shell 类型,这表示任务将在 shell 中执行。
    • "label" 是任务的标签,可以用于在 Visual Studio Code 中识别任务。
    • "command" 是要执行的命令。在这里,我们使用了 g++ 编译器。
    • "args" 是命令的参数。在这里,我们使用了 -g 选项来生成调试信息,${file} 表示当前活动文件,-o 选项用于指定输出文件的名称,${fileDirname}/${fileBasenameNoExtension}.exe 表示输出文件的路径和名称。
    • "options" 是命令的选项。在这里,我们设置了 cwd(当前工作目录)为 g++ 编译器的路径。
    • "problemMatcher" 用于将输出的错误和警告与源代码中的位置关联起来。在这里,我们使用了 $gcc 问题匹配器,这表示我们使用 GCC 编译器。
    • "group" 是任务的组。在这里,我们将这个任务设置为默认的构建任务。
  • 相关阅读:
    el-select数据量过大引发卡顿,怎么办?
    学生用什么光的灯最好?适合学生光源的护眼台灯推荐
    310页(11万字)2021年数字医院信息化综合解决方案
    浅显直白的Python深拷贝与浅拷贝区别说明
    windows一键部署java项目
    ESP8266-Arduino编程实例-BME680环境传感器驱动
    Ubuntu上安装和配置MySQL
    前端面试题集锦(1)
    pytorch的安装【全官网流程】
    React + TypeScript + Taro前端开发小结
  • 原文地址:https://blog.csdn.net/zhangyongze_z/article/details/133859646