VS Code 配置 C 语言调试环境

在学校一直用 Dev-C++ 编写调试 C 语言程序,因为 Visual Studio Code 的配置搞不懂,放假在家闲着没事找了一些教程学习了一下下,现在我终于能较为完整的体验 VSCode 的撸代码快感了。这里记录一下配置过程,C/C++ 均可。

安装 C/C++ 插件

在 Visual Studio Code Extensive 搜索 C/C++ 插件后 install 安装。[ Marketplace Overview | Documentation ]

安装 C++ compiler or debugger

这里选用 Mingw-w64 ,因为容易装而且体积比 Build Tools for Visual Studio 稍微小点

  • 下载 mingw-w64-install.exe 放到安装路径下然后右键“以管理员身份运行”,按照提示安装 Mingw-w64。注意根据自己的机型配置选择安装向导界面中的选项。Sourceforge下载地址

    • Version 安装的 GCC 版本。
    • Architecture 机器操作系统架构。32 位选择 i686。64 位选择 x86_64。
    • Threads 操作系统接口协议。这个世界上只有两种操作系统,符合 posix 协议的,和 Windows(win32)。
    • Exceptions 异常处理模型。对于 64 位系统:seh 是新发明的,性能比较好,但不支持 32 位;而 sjlj 则是古老的,稳定性好,支持 32 位。对于 32 位系统:dwarf 的性能要优于 sjlj ,但不支持 64 位。

Mingw-w64 安装向导 Setting
Mingw-w64 安装向导 Setting

  • 前一种方法可能会因为网络问题出现“The file has been downloaded incorrectly” 报错,这里可以直接下载压缩包解压到安装路径下。sourceforge下载地址 注意选择对应文件名

添加系统环境变量

Windows 搜索“编辑系统环境变量”,打开“环境变量”,双击系统变量里的“PATH”,新添加一条 mingw64bin 文件夹路径的值,比如我的是 D:\mingw-w64\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\mingw64\bin 。记得点确定。保存后重新启动 VSCode 。

添加系统环境变量
添加系统环境变量

调试配置

在 VS Code 里打开一个项目文件夹,在 Terminal 终端输入下面命令检查是否安装成功并初始化。

> g++ --version
> gdb --version
> code .

运行完 code . 后会将当前文件夹作为你的“workspace”。
现在在项目文件夹中添加文件 hello.c ,随便写点什么用作测试。Ctrl + S 保存文件。
选择 Terminal > Configure Default Build Task 配置默认生成任务,选择“C/C++: g++.exe build active file”。
这时项目文件夹中会生成一个包含 task.json 文件的 .vscode 文件夹。
打开 task.json 文件中有提示,根据文档可以对该文件进行高级设置。这里使用默认设置。

{
    // 有关 tasks.json 格式的文档,请参见
    // https://go.microsoft.com/fwlink/?LinkId=733558
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "gcc.exe build active file",
            "command": "D:\\mingw-w64\\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\\mingw64\\bin\\gcc.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "D:\\mingw-w64\\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\\mingw64\\bin"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

这时直接按 F5 调试会提示找不到程序,这时先运行生成任务,选择 Terminal > Tasks: Run Build Task 即可。这样会按照 task.json 文件生成一个文件名相同,后缀为 .exe 的可执行文件,即编译。

感觉我可能还有哪里没配置好,下次再说,先就酱了,能用就行。

另外终端可能出现中文乱码的情况,在 settings.json 里添加一行自动判断编码有点效果,终端里的中文没有乱码,但是生成的 .exe 文件依然乱码。写代码的时候注意右下角编码应该就行了,问题不大。

{
    "explorer.confirmDelete": false,
    "files.autoGuessEncoding": true             // 添加这个
}

 


 

2020.4.2 看到了一篇写的很好的文章,请参考《Windows VS Code 配置 C/C++ 开发环境 - 森の色

添加新评论

本站现启用评论投票,被踩的太多就会自动折叠 QwQ ,快来试试吧 ~
评论提交失败请点Artalk备用评论


已有 2 条评论

WSL 不会整,嘿嘿嘿 o(////▽////)q