c/c++ 环境(MinGW + vs code )搭建与使用指南

时间:2021-04-18 01:51:52

前言

这次又是一次工具分享篇,上次写了一篇GCC/G++ + sublime text3 + powershell在windows使用指南的分享,这次又带了一个新的生产工具——vs code(此次仅针对windows,其实linux配置也是相近的,而且会更简单),至于vs code,sublime,code blocks有什么异同,为什么会换一套工具,我会在心得中进行详细的说明。

环境搭建

1.下载与安装vs code,官网传送门
2.配置编译和调试的环境,c/c++拓展插件安装,如下图所示,搜索c/c++
c/c++ 环境(MinGW + vs code )搭建与使用指南
3.launch脚本与tasks脚本编写
在工作区内新建.vscode的文件夹,内部新建两个名为launch.json和tasks.json两个文件,如下图所示
c/c++ 环境(MinGW + vs code )搭建与使用指南
4.脚本填充

launch.json内的内容如下

{
   "version": "0.2.0",
   "configurations": [ { "name": "C\\C++", "type": "cppdbg", "request": "launch", "targetArchitecture": "x86", "program": "${workspaceRoot}\\${fileBasenameNoExtension}.exe", "miDebuggerPath":"这里填gdb的路径(例如C:\\mingw\\bin\\gdb.exe)", "args": [], "stopAtEntry": false, "cwd": "${workspaceRoot}", "externalConsole": true, "preLaunchTask": "g++"   } ] }

tasks.json内容填充如下

{
    "command": "g++",
    "args": ["-g","-std=c++11","${file}","-o","${workspaceRoot}\\${fileBasenameNoExtension}.exe"],
    "problemMatcher": { "owner": "cpp", "fileLocation": ["relative", "${workspaceRoot}"], "pattern": { "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", "file": 1, "line": 2, "column": 3, "severity": 4, "message": 5 } } }

5.平台验证

#include <iostream>
#include <windows.h>
int main()
{
    std::cout << "hello MinGW + VS Code!\n";
    system("pause");
    return 0;
}

c/c++ 环境(MinGW + vs code )搭建与使用指南

对比与心得

这里率先需要说明的是,以下观点仅仅是从使用开发小项目体验来看,不涉及编译效率,大项目,代码托管等更深层次的问题。
一、对于CodeBlocks,界面风格比较陈旧,在目前主流审美来看可能已经落伍了,但是作为一个跨平台的IDE来说,功能上基本满足小众开发者的需求,应该称得上轻量级。但是从我自己的使用经历来看,有几点不得不吐槽
1.汉字乱码问题,时不时会给你来个汉字乱码,虽然可你解决,但还是很闹心
2.调试模块,不知是不是我电脑的问题,在我一年半的使用,总是有些奇奇怪怪的问题,wtf,我断点加了呀,怎么跳过去了;怎么打不开调试模块。(心累,关闭重启吧,哇,终于正常了,开森)
3.调试的时候不小心关闭了dos窗口(嘿嘿,请重启应用再次尝试,我**)
二、对于sublime,使用时间不是很长,一直用他来写点小东西,尝试过写一个中等项目,体验一般,调试(呵呵),至少我没发现调试模块,只能在dos下用,Linux有terminal感觉还可以接受,windows的power shell真心一般。
三、对于vs code,先说缺点吧,博主电脑性能一般,运行稍微会有点卡顿,不过比vs 2017好了很多,尤其是在调试的时候会更明显。再说好处吧,自己集成了一个终端,以及error呈现的窗口,还有调试模块,小的程序问题可以很快的定位,但是到了大规模的程序我想这个应该还是会很鸡肋的吧。

最后,附上vs code 的快捷键,祝玩的愉快。