[C++] 在VS code中打开VS studio的cpp文件并调试运行(弹出独立窗口)


👉原文阅读


💡章前导言

在电脑上复现以前的C++项目的时候,自觉VS studio太繁重,准备重新拿VS code编译,没想到还是有很多地方需要注意的,在这里记录一下。



📘正文开始

安装扩展

为了编译打开C++文件,需要在VS code上面先安装一些拓展,如下图:

安装的扩展

安装gcc编译器MinGW

进入MinGW官网

https://winlibs.com/

下载对应的zip安装包,win10的64位下载版本如下:

下载MinGW的zip包

下载后解压缩,进入对应的bin目录

打开MinGW目录

在目录栏里面输入cmd后回车打开目录下终端,输入代码

g++ --version

能弹出下图的信息说明安装成功

输入指令显示信息

配置MinGW至环境变量

右键此电脑,选择属性,在弹出的设置窗口中下拉,选择高级系统设置。

点击环境变量,选中系统变量中的Path,点击编辑。

在弹出的编辑环境变量窗口中,点击新建按钮,将上面打开的bin路径复制到里面,然后逐一进行确定保存。

配置环境变量

重命名cpp

由于VS studio里面的cpp是可以用中文命名的,到VS code里面会编译错误,所以需要重新命名一下,这里随便用英文命名就行了。

重命名cpp文件


🚩注意

如果打开的cpp中有中文变成乱码了,可以尝试将编码进行修改,过程如下图

点击底边栏编码按钮弹出选择窗口

修改编码


创建launch.json

第一次试调试运行之后会出现.vscode的文件(有什么报错都先点掉),在这里面创建launch.json

注意下文"cwd": "D:\\Environment\\MinGW\\mingw64\\bin","miDebuggerPath": "D:\\Environment\\MinGW\\mingw64\\bin\\gdb.exe",的地方改成自己的路径。

{
    "version": "0.2.0",
    "configurations": [
    
        {
            "name": "编译",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "cmd",
            "args": [
                "/C"
            ],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "console": "internalConsole",
            "internalConsoleOptions": "neverOpen",
            "preLaunchTask": "C/C++: g++.exe 生成活动文件"
        },
        {
            "name": "编译并执行",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "cmd",
            "args": [
                "/C",
                "${fileDirname}/${fileBasenameNoExtension}.exe"
            ],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "console": "externalTerminal",
            "preLaunchTask": "C/C++: g++.exe 生成活动文件"
        },
        {
            "name": "Debug",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "D:\\Environment\\MinGW\\mingw64\\bin",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\Environment\\MinGW\\mingw64\\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 生成活动文件"
        }
    ]
}

创建tasks.json

在同一位置下,创建tasks.json

注意下文"command": "d:\\Environment\\MinGW\\mingw64\\bin\\g++.exe","cwd": "d:\\Environment\\MinGW\\mingw64\\bin"的地方改成自己的路径。

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 生成活动文件",
            "command": "d:\\Environment\\MinGW\\mingw64\\bin\\g++.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "-fexec-charset=utf-8"
            ],
            "options": {
                "cwd": "d:\\Environment\\MinGW\\mingw64\\bin"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

🚩注意

如果调试运行之后弹出来的窗口中有中文变成乱码了,可以尝试将"-fexec-charset=utf-8"里面的utf-8编码进行修改


这些都搞好了之后,就可以调试运行了。

运行弹出独立窗口

参考文章链接:

  1. VSCode配置C++环境——弹出黑窗运行和断点调试程序_vscode运行c语言如何弹出运行窗口
  2. VSCode运行CPP单文件_vscode 运行cpp

最近更新

  1. 常用的设计模式

    2024-06-08 18:46:01       0 阅读
  2. 服务器添加TLS域名证书核子之PKCS编解码

    2024-06-08 18:46:01       0 阅读
  3. WDF驱动开发-I/O请求的处理(四)

    2024-06-08 18:46:01       0 阅读
  4. Flask-RQ

    2024-06-08 18:46:01       0 阅读
  5. 《 Python趣味编程 | 从入门到就业》专栏介绍

    2024-06-08 18:46:01       0 阅读
  6. SpaTracker&CoTracker 环境配置

    2024-06-08 18:46:01       0 阅读
  7. oracle中使用临时表GLOBAL TEMPORARY TABLE

    2024-06-08 18:46:01       0 阅读
  8. python调用SDK的问题

    2024-06-08 18:46:01       0 阅读
  9. Python笔记 - 正则表达式

    2024-06-08 18:46:01       0 阅读
  10. 搭建Conda虚拟环境让python程序脚本更干净

    2024-06-08 18:46:01       0 阅读

热门阅读

  1. Ansible——user模块

    2024-06-08 18:46:01       5 阅读
  2. SD-WAN加速跨国服务器访问

    2024-06-08 18:46:01       5 阅读
  3. Spring Boot中实现规则引擎源码教程

    2024-06-08 18:46:01       4 阅读
  4. android:text 总为大写字母的原因

    2024-06-08 18:46:01       3 阅读
  5. input只允许输入数字

    2024-06-08 18:46:01       6 阅读
  6. 数据结构汇总学习(ing)

    2024-06-08 18:46:01       5 阅读
  7. 注解 - @RequestBody

    2024-06-08 18:46:01       5 阅读
  8. 阿里云一键登录号码认证服务

    2024-06-08 18:46:01       6 阅读
  9. pytorch里面封装好的函数,如果要修改怎么办

    2024-06-08 18:46:01       7 阅读
  10. C语言——第五章习题

    2024-06-08 18:46:01       4 阅读
  11. 动手学深度学习——tensor

    2024-06-08 18:46:01       6 阅读