vscode配置c/c++详细教程

Ps:本教程出自以下地址,更多问题可前往观看

https://www.zhihu.com/question/30315894/answer/154979413

1、下载编译器和编辑器
本教程里面使用的编辑器为vscode(自行下载)

编译器为MinGW-w64 - for 32 and 64 bit Windows
点击链接即可下载(最好不要用 Download Latest Version,这个是在线安装包,可能因为国内的“网络环境”下载失败。如果浏览器下载失败就换迅雷下或者连手机开的热点下,还失败,那就使用能访问Google的那种方法下。

PS:记住自己安装编译器时候的位置

2、配置编译器环境并验证
vscode配置c/c++详细教程_第1张图片

上面图片中的就是编译器安装时候的位置

安装环境

  • 找到编译器安装位置,进入bin目录下复制目录
  • 找到我的电脑单击右键——属性——高级系统设置——环境变量——在系统变量和用户变量里面找到path,新建一个(分别把刚刚复制的路径粘贴上去)
  • 然后重启电脑

vscode配置c/c++详细教程_第2张图片
验证

Win+R,运行cmd(不要跳这一步),输入gcc,应该会提示
no input files 而不是“不是内部命令或外部命令”或者“无法将 “gcc” 项识别为 cmdlet、函数、脚本文件或可运行程序的名称”。如果是“不是内部命令或外部命令”,说明gcc在的文件夹没有在环境变量的Path中,要加进去才行。如果加了还是这样,重启。如果重启了还不行,那就是你自己进行的操作有问题。

gcc -v可以显示出gcc的版本。如果显示出来的版本与你刚下的不同/更老,说明Path里原本有老版本的编译器,可能是安装其它IDE时装上的。则需要去掉Path里原来的那一个gcc的路径。这两项验证一定要符合,否则必须修改环境变量。小心别错删了。

如下图

vscode配置c/c++详细教程_第3张图片

vscode配置c/c++详细教程_第4张图片

3、安装扩展并配置文件

安装扩展

  • C/C++:又名 cpptools,提供Debug和Format功能
  • Code Runner:右键即可编译运行单文件,很方便;但无法Debug

其他可选扩展:

  • Bracket Pair Colorizer 2:彩虹花括号
  • One Dark Pro:大概是VS Code安装量最高的主题

** 补充知识**

  • 编译器是把源代码变成可执行文件的,编辑器是你打字的软件。记事本就是一个编辑器,VSC也是编辑器。编辑器是无法编译运行程序的,因为那是编译器的工作

  • MinGW是gcc在Windows下的移植,gcc是世界上最流行的C/C++编译器组合。但gcc这个名字也指编译C语言的那个程序,g++才是C++编译器。即gcc程序和g++程序包含在gcc套件以及MinGW里,当只说gcc时要根据语境自己区分

  • 其实MinGW和MinGW-w64只是名字像,它们是两个不同的项目。为了方便,本文中的MinGW指的其实都是MinGW-w64。MinGW本身已经很久没有更新了,不使用它哎呀,原来MinGW是活着的,但它只能产生32位程序

配置JSON文件
创建一个你打算存放代码的空文件夹,称作工作区文件夹;路径不能含有中文和引号,最好不要有空格

打开vscode选打开文件夹;最好不要选==“添加工作区文件夹”==,这个就是虚拟工作区,我没用过,不保证没问题。点新建文件夹,名称为.vscode。不在资源管理里新建的原因是Windows的Explorer不允许创建的文件夹第一个字符是点(1903后才支持)。然后创建 launch.json,tasks.json 放到.vscode文件夹下。效果图:
vscode配置c/c++详细教程_第5张图片

PS:注意是放.vscode里面注意不要成平行的了

launch.json代码

  • “miDebuggerPath“” 必须具体到 gdb.exe(在bin目录里面仔细找找)
  • 其他地方照着抄就行,自己想改可以去看看文章开头链接那篇文章
{
     
     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": false,
            "cwd": "${workspaceFolder}",
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "C:/MinGW/bin/gdb.exe"
            "setupCommands": [
                {
     
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "Build"
        }
    ]

}

tasks.json代码

  • 如果是编写C++,编译器需改成g++;如果不想要额外警告,把-Wall那一条删去;-std根据自己需要修改,但c++17好像有问题,最好至多用c++14;
  • 照着搬就可以,自己想修改可以参照文章开头链接内容
{
     
    "version": "2.0.0",
    "tasks": [
        {
     
            "label": "Build",
            "command": "g++",
            "args": [
                "-g",
                "-Wall",
                "-std=c++11",
                "-lm",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}.exe"
            ],
            "presentation": {
     
                "reveal": "always",
                "echo": false,
                "focus": true
            },
            "problemMatcher": {
     
                "owner": "cpp",
                "fileLocation": "absolute",
                "pattern": {
     
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },

        {
     
            "label": "Run",
            "type": "shell",
            "dependsOn": "Build",
            "command": "${fileDirname}/${fileBasenameNoExtension}.exe",
            "args": [],
            "presentation": {
     
                "reveal": "always",
                "focus": true
            },
            "problemMatcher": [],
            "group": {
     
                "kind": "test",
                "isDefault": true
            }
        }
    ]
}

下面可以写代码了

#include
#include
int main(void)
{
     

    printf("hello world\n");
    system("pause");
    return 0;
}

运行结果

vscode配置c/c++详细教程_第6张图片
PS:

  • 如果终端窗口出现闪退情况
    1、在return前面加
    system(“pause”);
    并加头文件#include
    2、或者加一个或者二个getcahr()

  • 在使用过程中你可能会遇到输入或输出中文乱码的问题,此时只需要将文件改成 GB2312 编码即可

  • 每一个程序运行都会有一个exe运行文件,长期下去堆积和源代码放一起,可以用博主it问题里面的bat清除exe清除

你可能感兴趣的:(#,IT问题)