一,VS Code简单介绍和插件安装
1.VS Code是一个微软旗下的一个广受欢迎的开源文本编辑器,相对于其它的编辑器(如NotePad++),我就对这款编辑器爱不释手,官网下载链接。
比如炫酷的主题,漂亮的外观,集成了终端,跨平台的、高性能的、轻量级的体积等等数不胜数,当然,VS Code最厉害的地方在于它有着成熟的插件市场以满足开发者的需求(说的就是我哈),得益于这个插件市场,我们可以把VS Code打造成各种开发环境(比如Python)?
?2.安装需要的插件,丰富的插件市场,凭个人喜好也可安装其它插件哈。
3.为方便调试运行程序,对安装的 .run 插件进行如下配置。?????????
二,MinGW简单介绍和配置环境变量
1.温馨提示:VS Code只是一款文本编辑器,不是编译器。
2.本质上和Windows的记事本以及NotePad++是一个东西,你可以用VS Code编写代码源文件,但可别指望它能编译运行程序了,这是编译器的工作,所以为了能在VS Code里面编译并运行C/C++源文件,我们就需要去额外的安装C和C++的编译器:GCC。
3.Windows平台上的GCC移植版本是 MinGW,我们用MinGW其实就是用里面的GCC来编译我们写的C/C++源文件。
4.进入MinGW官网后按如图进行下载就行了
?4.解压到没有中文和空格的目录下,然后按如下配置环境变量。
5.win+r 键后输入cmd,回车弹出命令终端后输入:gcc -version 来验证一下是否配置环境变量成功。
三,测试C/C++代码
1.输入如下代码后运行效果如下。
2.上面说到运行成功后会自动生成.vscode文件,里面有个tasks.json配置文件,该json配置文件内容的解释大致如下。
{
"version": "2.0.0",
"tasks": [
{//这个大括号里是‘构建(build)’任务
"label": "build", //任务名称,可以更改,不过不建议改
"type": "shell", //任务类型,process是vsc把预定义变量和转义解析后直接全部传给command;shell相当于先打开shell再输入命令,所以args还会经过shell再解析一遍
"command": "gcc", //编译命令,这里是gcc,编译c++的话换成g++
"args": [ //方括号里是传给gcc命令的一系列参数,用于实现一些功能
"${file}", //指定要编译的是当前文件
"-o", //指定输出文件的路径和名称
"${fileDirname}\\bin\\${fileBasenameNoExtension}.exe", //承接上一步的-o,让可执行文件输出到源码文件所在的文件夹下的bin文件夹内,并且让它的名字和源码文件相同
"-g", //生成和调试有关的信息
//"-Wall", // 开启额外警告
//"-static-libgcc", // 静态链接libgcc
"-fexec-charset=GBK", // 生成的程序使用GBK编码,不加这一条会导致Win下输出中文乱码
"-std=c11", // 语言标准,可根据自己的需要进行修改,写c++要换成c++的语言标准,比如c++11
],
"group": { //group表示‘组’,我们可以有很多的task,然后把他们放在一个‘组’里
"kind": "build",//表示这一组任务类型是构建
"isDefault": true//表示这个任务是当前这组任务中的默认任务
},
"presentation": { //执行这个任务时的一些其他设定
"echo": true,//表示在执行任务时在终端要有输出
"reveal": "always", //执行任务时是否跳转到终端面板,可以为always,silent,never
"focus": false, //设为true后可以使执行task时焦点聚集在终端,但对编译来说,设为true没有意义,因为运行的时候才涉及到输入
"panel": "new" //每次执行这个task时都新建一个终端面板,也可以设置为shared,共用一个面板,不过那样会出现‘任务将被终端重用’的提示,比较烦人
},
"problemMatcher": "$gcc" //捕捉编译时编译器在终端里显示的报错信息,将其显示在vs code的‘问题’面板里
},
{//这个大括号里是‘运行(run)’任务,一些设置与上面的构建任务性质相同
"label": "run",
"type": "shell",
"dependsOn": "build", //任务依赖,因为要运行必须先构建,所以执行这个任务前必须先执行build任务,
"command": "${fileDirname}\\bin\\${fileBasenameNoExtension}.exe", //执行exe文件,只需要指定这个exe文件在哪里就好
"group": {
"kind": "test", //这一组是‘测试’组,将run任务放在test组里方便我们用快捷键执行
"isDefault": true
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": true, //这个就设置为true了,运行任务后将焦点聚集到终端,方便进行输入
"panel": "new"
}
}
]
}
|