VS Code配置C++环境

     分类: C++,个人笔记,编程开发 发布时间: 2018-10-08 17:31 3,317人浏览

宇宙第一IDE VS确实很好,但问题是那个编译器实在是太大了,在超极本里的256G硬盘内安装就显得十分捉襟见肘。因此考虑使用VS Code替代VS。


1.VS Code安装

本体安装很简单,直接在官网下载即可 官网链接

安装中文插件

下载安装之后,按ctrl+shift+x打开扩展商店,安装Chinese (Simplified) Language Pack for Visual Studio Code
VS Code配置C++环境插图
按F1,搜索Configure Display Language,将locale项改成”zh-CN”,ctrl+s保存,重启vs

安装其他拓展

扩展商店里还需要安装其他的一些插件,必备的是C/C++和C/C++ Clang Command Adapter
,其他的插件也可以按图适当安装
VS Code配置C++环境插图1


2.C++环境安装

安装minGW

这里选用的是minGW_w64,使用普通的minGW应该也可以。下载链接
需要注意的是这个安装包需要联网才能安装,否则会报错无法下载txt。

安装选项中记得将Architecture改成x86_64,其余默认就好。

安装LLVM

这个似乎是用来作为一个编译器前端。下载链接
选择clang for Windows,现在的最新版本是LLVM 6.0.0

把LLVM的bin加入环境变量,例如C:\Program Files\LLVM\bin
输入 clang -v,有回显则配置成功

合并minGW和Clang

把mingw里的东西全部复制到Clang的文件夹里去,他们会无冲突合并,效果图见下。
VS Code配置C++环境插图2

在cmd中分别输入g++ --versiongcc -v,有对应返回结果则环境设置完成。
VS Code配置C++环境插图3

不合并也不是不行,但需要单独设置环境变量,在Path中添加minGW安装位置的bin文件夹,例如C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin
而且不进行其他设置的话,会产生无法识别头文件的问题。虽然可以正常编译但是编辑器中会有绿波浪线,不太建议使用。


3、json配置

在vs中创建了一个新的cpp文件后,按F5选择对应的编程语言(C++),VS Code会自动创建一个.vscode文件夹和launch.json文件,用下面的文件将其替换。并新建tasks.json和c_cpp_properties.json文件,写入下面的代码。

launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Launch (GDB)", // 配置名称,将会在启动配置的下拉菜单中显示
            "type": "cppdbg", // 配置类型,这里只能为cppdbg
            "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
            "targetArchitecture": "x64", // 生成目标架构,一般为x86或x64
            "program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径
            "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
            "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
            "cwd": "${workspaceRoot}", // 调试程序时的工作目录,一般为${workspaceRoot}
            "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
            "internalConsoleOptions": "neverOpen", // 如果不设为neverOpen,调试时会跳到“调试控制台”选项卡",
            "MIMode": "gdb", // 指定连接的调试器
            "miDebuggerPath": "C:/Program Files/LLVM/bin/gdb.exe", // 调试器路径
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for GDB",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": false
                }
            ],
            // 此处设置按下F5调用的tasks.json中的任务标签label
            "preLaunchTask": "Compile"
        }
    ]
}

tasks.json

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Compile",
            "command": "g++",
            "args": [
                "-g",//指定编译源代码文件
                "${file}",
                "-o",// 指定输出文件名,不加该参数则默认输出a.exe
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "-ggdb3",   // 生成和调试有关的信息
                "-Wall",    // 开启额外警告
                "-static-libgcc",   // 静态链接
                "-Wno-format",
                "-finput-charset=UTF-8",//输入编译器文本编码 默认为UTF-8
                "-fexec-charset=GBK"//编译器输出文本编码 自行选择 
            ],

            "type": "shell",

            "group": {
                "kind": "build",
                "isDefault": true
            },

            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared"
            },
            "problemMatcher": {
                "owner": "cpp",
                "fileLocation": [
                    "relative","\\"
                ],
                "pattern":{
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        }
    ]
}

c_cpp_properties.json 注意这个json不允许写注释

{
    "configurations": [
        {
            "name": "Win32",
            "intelliSenseMode": "clang-x64",
            "includePath": [
                "/usr/include",
                "/usr/local/include",
                "${workspaceFolder}"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "__GNUC__=7",
                "__cdecl=__attribute__((__cdecl__))"
            ],
            "browse": {
                "path": [
                    "/usr/include",
                    "/usr/local/include",
                    "${workspaceFolder}"
                ]
            },
            "limitSymbolsToIncludedHeaders": true,
            "databaseFilename": "",
            "compilerPath": "C:/Program Files/LLVM/bin/g++.exe",
            "cStandard": "c11",
            "cppStandard": "c++17"
        }
    ],
    "version": 4
}

4.编译运行

记得不要点右上角的灰色运行按钮!

点击这个绿色三角进行调试
VS Code配置C++环境插图4

终端若显示:终端将被任务重用,按任意键关闭。则已经生成exe文件成功
之后就可以调试运行了。


参考链接:
Visual Studio Code(VSCODE)语言设置
在VSCode中写简单的C++程序
Windows下搭建基于VScode+clang+MinGW的C++开发环境
Visual Studio Code如何编写运行C、C++?


上一篇文章:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注