欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用 Visual Studio Code 编译和调试 C++ 文件

程序员文章站 2022-06-17 08:50:55
...

前言

现在有很多的代码编辑器都可以提供命令行功能来 Build C++ 文件,例如我之前用过的 Sublime 和 Notepad++。这两款软件非常小巧而且不用付费即可使用。但是很遗憾其很难使用调试器对代码进行调试。于是我们找到了 Visual Studio Code (VSC)这款工具,虽然其安装大小要几百兆,但是配置好了之后真的非常好用,比动辄十几G的 Visual Studio Community 轻便了太多。废话不多说,接下来我们看看怎么配置的。官方教程是英文版的但是显然会更加准确,偷懒的话就继续看我写的版本吧。

环境准备

首先安装MinGW-w64,官方网站上不提供下载,需要去 Sourceforge 上下载。下载和安装教程这里不赘述了,具体可百度。注意配置好用户环境变量中的 Path。验证方法为打开 cmd 输入 gcc 看是否是不识别的命令。若没有配置好,那么这个命令是不识别的,即 Bad command。

然后需要安装正主 visual studio code 了,这个下载更简单,直接百度很容易就能找到下载位置

环境配置

首先需要先安装官方 C++ 插件。打开 VSC,点击左方由上到下第五个图标,搜索 C++,第一个就是,点击安装,安装完了之后重载。
新建一个文件夹,作为工作文件夹。在这个文件夹内建立一个 cpp 文件,作为调试代码。懒的话直接复制以下代码:

#include <iostream>
#include <aaa>

int main() {
    int a;

    std::cout << "Test." << std::endl;
    std::cin >> a;

    return 0;
}

注意以上有一行代码是错误的,这是我故意写出来的。将代码复制粘贴后记得保存(Ctrl + s)。
这是错误的代码行,将鼠标移向这行代码会蹦出一个黄色的灯泡,点击它选择 Edit “includePath” setting.

#include <aaa>

干完这步后,VSC 会自动在工作目录下创建 .vscode 文件夹。注意,在 VSC 中要打开文件夹,选择你创建的工作目录。
在 .vscode 中新建 launch.json 文件,这是配置 VSC 调试的文件,直接复制以下代码:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [

        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": true,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "internalConsoleOptions": "neverOpen",
            "MIMode": "gdb",
            "miDebuggerPath": "gdb.exe",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": false
                }
            ],
            "preLaunchTask": "Compile"
        }
    ]
}

再创建 tasks.json 文件,这个文件用于配置编译选项。代码如下:

// https://code.visualstudio.com/docs/editor/tasks
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Compile",
            "command": "g++",
            "args": [
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}.exe",
                "-g",
                "-Wall",
                "-static-libgcc",
            ],
            "type": "shell",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared"
            },
            "problemMatcher": "$gcc"
        }
    ]
}

最后一步,创建文件 c_cpp_properties.json,不过这个文件系统应该在之前已经为你创建好了。这个文件主要用于配置 include 文件夹。这里不要全部复制粘贴,覆盖对应部分即可!

        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}",
                "C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\include"
                "C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\x86_64-w64-mingw32\include" //这两行需要替换为自己的 mingw-w64安装文件夹。
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "intelliSenseMode": "msvc-x64",
            "browse": {
                "path": [
                    "${workspaceFolder}",
                    "C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\include"
                    "C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\x86_64-w64-mingw32\include" //这两行需要替换为自己的 mingw-w64安装文件夹。
                ],
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": ""
            },
            "cStandard": "c11",
            "cppStandard": "c++17"
        }

到这里就大功告成了,调试程序试试看?