前言
\qquad 这次又是一次工具分享篇,上次写了一篇GCC/G++ + sublime text3 + powershell在windows使用指南的分享,这次又带了一个新的生产工具——vs code(此次仅针对windows,其实linux配置也是相近的,而且会更简单),至于vs code,sublime,code blocks有什么异同,为什么会换一套工具,我会在心得中进行详细的说明。
环境搭建
MinGW下载
- 下载并安装MinGW官网下载地址
- 本文为了方便,直接将MinGW放在C盘根目录下
VS Code配置
- 下载与安装vs code,官网传送门
- 配置编译和调试的环境,c/c++拓展插件安装,如下图所示,搜索c/c++
- launch脚本与tasks脚本编写
\qquad 在工作区内新建.vscode的文件夹,内部新建两个名为launch.json和tasks.json两个文件,如下图所示
- 脚本填充
launch.json内的内容如下
{
"version": "0.2.0",
"configurations": [
{
"name": "C\\C++",
"type": "cppdbg",
"request": "launch",
"targetArchitecture": "x86",
"program": "${workspaceRoot}\\${fileBasenameNoExtension}.exe",
"miDebuggerPath":"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
}
}
}
- 平台验证
#include <iostream>
#include <windows.h>
int main()
{
std::cout << "hello MinGW + VS Code!\n";
system("pause");
return 0;
}
说明
画红线的是GCC/G++的编译参数,需要链接库的在这里添加
划红线的是编译器的调试器所在的目录,主要要修改这里,本文给出的是在C盘根目录下的安装路径
对比与心得
\qquad
这里率先需要说明的是,以下观点仅仅是从使用开发小项目体验来看,不涉及编译效率,大项目,代码托管等更深层次的问题。
\qquad
一、对于CodeBlocks,界面风格比较陈旧,在目前主流审美来看可能已经落伍了,但是作为一个跨平台的IDE来说,功能上基本满足小众开发者的需求,应该称得上轻量级。但是从我自己的使用经历来看,有几点不得不吐槽
1.汉字乱码问题,时不时会给你来个汉字乱码,虽然可你解决,但还是很闹心
2.调试模块,不知是不是我电脑的问题,在我一年半的使用,总是有些奇奇怪怪的问题,wtf,我断点加了呀,怎么跳过去了;怎么打不开调试模块。(心累,关闭重启吧,哇,终于正常了,开森)
3.调试的时候不小心关闭了dos窗口(嘿嘿,请重启应用再次尝试,我**)
\qquad
二、对于sublime,使用时间不是很长,一直用他来写点小东西,尝试过写一个中等项目,体验一般,调试(呵呵),至少我没发现调试模块,只能在dos下用,Linux有terminal感觉还可以接受,windows的power shell真心一般。
\qquad
三、对于vs code,先说缺点吧,博主电脑性能一般,运行稍微会有点卡顿,不过比vs 2017好了很多,尤其是在调试的时候会更明显。再说好处吧,自己集成了一个终端,以及error呈现的窗口,还有调试模块,小的程序问题可以很快的定位,但是到了大规模的程序我想这个应该还是会很鸡肋的吧。
最后,附上vs code 的快捷键,祝玩的愉快。