环境配置(一)vs code配置C++环境(MinGW使用Dev-Cpp自带的)

1、配置MinGW的系统环境变量

将Dev-Cpp/MinGW64/bin添加进系统环境。方法为“计算机右键-》属性-》高级系统设置-》环境变量-》系统变量-》Path-》添加相应路径”

2、下载安装VSCode,安装C/C++插件

1536999611395

3、配置VSCode

首先在VSCode中打开一个文件夹(工作区),后续配置将只在本文件夹(工作区)内有效。其他文件夹(工作区)可参照以下步骤再配置一次。在文件夹下创建一个测试C/C++文件,如HelloWorld.Cpp:

#include<iostream>
#include<cstdio>
using namespace std;
int main(){
    printf("hello world\n");
    system("pause");
    return 0;
}

4、配置launch.json文件

进入调试界面选择C++(GDB):

 img

img

然后会在工作目录下生成.vscode文件夹,这个文件夹就是工作区的配置文件夹。

è¿éåå¾çæè¿°

文件夹中自动生成了launch.json文件。将文件内容替换为:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",	// 配置名称,将会在启动配置的下拉菜单中显示
            "type": "cppdbg", 		// 配置类型,这里只能为cppdbg
            "request": "launch",	// 请求配置类型,可以为launch(启动)或attach(附加)
            "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径
            "args": [],				// 程序调试时传递给程序的命令行参数,一般设为空即可
            "stopAtEntry": false, 	// 设为true时程序将暂停在程序入口处,一般设置为false
            "cwd": "${workspaceFolder}",// 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
            "environment": [],
            "externalConsole": true,// 调试时是否显示控制台窗口,一般设置为true显示控制台
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\Dev-Cpp\\MinGW64\\bin\\gdb.exe",// miDebugger的路径,注意这里要与MinGw的路径对应
            "preLaunchTask": "g++",	// 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

生成tasks.json文件

这个 task.json 的作用就是, 在通过 launch,json 里的配置运行之前, 先根据我们自定义的命令去运行一个任务

在这里通常这个任务是编译, 也就是把我们的 .cpp 变成 .exe, 这样 launch.json 才可以用 .exe 去执行

  1. 打开命令面板(Ctrl + Shift + P)。
  2. 选择Tasks:Configure Tasks ...命令
  3. 单击从模板创建tasks.json文件
  4. 您将看到任务运行模板列表,选择Others
  5. 将文件内容修改如下:
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "g++",
            "type": "shell",
            "command": "g++",
            
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileBasenameNoExtension}.exe"//没有后缀
            ],
        }
    ]
}
  • 此操作跟在命令行输入-g hello.cpp -o hello.exe的作用一样
  • Task 完成了之后, 就开始 launch.json 的运行了
  • 会根据 launch.json 里的 miDebuggerPath 配置的 编译器路径去运行上刚生成的 exe 文件

配置c_cpp_properties.json文件

  • 应该是配置 cpp 文件编译时的全局配置吧, 也好像是提供智能感知的配置
  • 通过快捷方式Ctrl+Shift+P运行C/CPP: Edit configuration ...命令添加缺少的信息并生成c_cpp_properties.json文件。
  • 配置如下:
{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "D:\\Dev-Cpp\\MinGW64\\lib\\gcc\\x86_64-w64-mingw32\\4.9.2\\include\\c++",
                "D:\\Dev-Cpp\\MinGW64\\lib\\gcc\\x86_64-w64-mingw32\\4.9.2\\include\\c++\tr1",
                "D:\\Dev-Cpp\\MinGW64\\lib\\gcc\\x86_64-w64-mingw32\\4.9.2\\include\\c++\\x86_64-w64-mingw32"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.17763.0",
            "compilerPath": "D:\\Dev-Cpp\\MinGW64\\bin\\gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "msvc-x64"
        }
    ],
    "version": 4
}
  • "compilerPath": "D:/Dev-Cpp/MinGW64/bin/gcc.exe",添加这一条,设置gcc.exe的路径(根据自己实际gcc.exe路径添加)。
  • 直观的效果就是引用头文件出现的绿色波浪线没了。

F5成功编译

若是上述操作失败可以重新新建另一个文件夹来尝试或者删掉.vscode文件夹再来过。

注意:有时候不能成功运行是上一次没有正常关闭终端,点重新启程调试的按钮,会因为剩余的数据未被读取而造成错误

比如这样的错误信息:

所在位置 行:1 字符: 2
+ 5& 'c:\Users\tangm\.vscode\extensions\ms-vscode.cpptools-0.24.1\debug ...
+  ~
表达式或语句中包含意外的标记“&”。
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnexpectedToken

此时关闭后台程序,再重新点一下启动就可以了

发布了24 篇原创文章 · 获赞 13 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_39359584/article/details/100770950