使用VS Code 编译 C/C++
有时候只是为了验证自己的想法或者刷题或者看代码,使用VS Studio 或者 eclipse 总有种大炮打蚊子,大材小用的感觉,这时候就需要个轻量的 IDE 来帮助我们进行简单的开发,那当然首选 VS Code 啦。
准备
-
下载 VS Code 并安装
-
安装 C/C++ 扩展 C/C++ extension for VS Code
-
安装 g++ 编辑器,这里采用 Mingw-w64,点击链接进行安装即可
-
配置PATH环境变量,将 Mingw-w64 的
bin
目录添加到环境变量PATH
中
检查 MinGW 安装情况
打开 cmd ,输入命令,检查 MinGW 是否安装成功。
如果安装成功,会有如下提示,若提示 命令不存在,检查环境变量是否配置。
> g++ --version
g++ (MinGW.org GCC-6.3.0-1) 6.3.0
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> gdb --version
GNU gdb (GDB) 7.6.1
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "mingw32".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
配置编译环境
编写测试文件
打开 VS Code,新建文件夹,同时创建 cpp 文件
mkdir helloword
cd helloword
code .
创建 helloword.cpp
文件,编写代码。在编写的过程中,如果 C/C++ 扩展安装成功的话,会有智能提示协助显示。
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};
for (const string& word : msg)
{
cout << word << " ";
}
cout << endl;
}
配置编译文件
选择 Terminal > Configure Default Build Task,在弹出的选项中,选择g++.exe build active file
选择后会在 .vscode 下生成 tasks.json
文件,用于配置编译任务。
task 文件主要设置了编译的编译器路径、编译参数等。详细的信息可以看这里。
编译
在 helloword.cpp
中,选择Terminal-> Run Build Task 或者 Ctrl + Shift +B
快捷键进行编译。
编译成功后,会生成 .exe
文件。
执行 .exe
文件,正常输出结果,配置成功。
修改 tasks.json
文件
默认情况下生成的 json 文件基本可以满足一般的需要,但是如果有其他的编译需要可以自行修改 json 文件,实现自定义的需要。
- 将
${file}
改为${workspaceFolder}\\*.cpp
可以编译当前目录下的所有cpp文件 - 将
${fileDirname}\\${fileBasenameNoExtension}.exe
修改为${workspaceFolder}\\myProgram.exe
可以让编译生成的程序名称按照自己的想法生成
配置 Debug 环境
作为开发,当然少不了对程序进行 Debug 了,所以这里也提供了 Debug 的方式
选择 Run > Add Configuration.
选择 C++ (GDB/LLDB)
选择 **g++.exe - 生成和调试活动文件 **
生成 launch.json
接下来就是正常对程序打断点,然后进行 F5
调试 了,step into
、step over
等含义就不用再说了,嘿嘿嘿,接下来就一步步调试了。
默认情况下,Debug时需要对程序打断点才可以进入调试界面。不过有时候也希望直接从 main 函数第一步就进入Debug,此时可以将 launch.json 文件中的
stopAtEntry
参数修改为
true
,即可在 main 第一步 进入 Debug。