个人主页:传送门
背景
有时候需要在Windows上编写C++
代码,但是已经习惯了linux
下vim + gcc/clang
,并且不想安装体积庞大的Visual Studio
。本文介绍如何一步步在Windows上使用Visual Studio Code
(以下简称VS Code
)搭建一个C++的开发调试环境。
安装 VS Code
VS Code
是Microsoft
开发的免费、开源、跨平台的文本编辑器。它同时支持Windows
、Linux
和MacOS
等操作系统。它支持调试、内置了Git版本控制功能,同时也具有代码补全、代码重构等功能。还支持扩展程序并在编辑器中内置了扩展程序管理的功能。
安装VS Code
很简单,官网下载Windows
版本,双击安装。
安装完成之后,通过扩展程序管理搜索安装C/C++
扩展。如下:
安装VIM
扩展。如下:
安装完成之后重新加载即可生效。
安装 msys2
利用msys2
可以在Windows
中使用Linux/Unix
软件。msys2
提供了一个包管理系统Pacman
,可以很方便地安装各种软件。
1. 安装 msys2
去msys2
官网下载对应的安装程序。注意32位和64位系统的差别。
双击安装,安装完成之后直接运行:
或者从开始菜单运行:
2. 更新包数据库及核心系统包
在打开的Terminal窗口中,输入pacman -Syu
:
出现下面情况需要关闭Terminal,再次从开始菜单运行,然后输入pacman -Su
更新剩余的部分:
等待更新完成...
注意点:
- 可能出现获取错误是由于网络原因,会自动重新尝试,一般会成功。
- 有可能出现冲突,直接选
y
。 - 输出更新信息:下载大小、安装大小、净更新大小。输入
y
更新。 - 由于网络状况可能需要较长时间。
下面gcc
和clang
按需安装!!!
3. 安装 gcc
输入pacman -Ss gcc
搜索gcc
结果如下:
选择安装mingw-w64-x86_64-toolchain
(64位),输入pacman -S mingw-w64-x86_64-toolchain
:
4. 安装 clang
输入pacman -Ss clang
搜索clang
结果如下:
选择安装mingw-w64-x86_64-clang
(64位),输入pacman -S mingw-w64-x86_64-clang
:
设置 Terminal
Windows上VS Code
默认的Terminal为PowerShell
。为了使用msys2
需要改成msys2
的bash
。
选择文件->首选项->设置
:
左侧是默认设置,我们需要修改右侧的用户设置来覆盖默认的设置。这里设置了以下值:
-
window.zoomLevel
: 窗口缩放,0为不缩放。 -
terminal.integrated.shell.windows
: 设置为msys2
中bash
的路径C:\\msys64\\usr\\bin\\bash.exe
。 -
terminal.integrated.shellArgs.windows
: 启动bash
的参数,设置为["-i"]
表示启动bash
后进入交互模式。 -
terminal.integrated.env.windows
: 启动bash
的环境变量,设置为{ "PATH": "/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowershell/v1.0/"}
设置完成后,使用Ctrl + `
打开的Terminal为bash
。
编写程序
打开一个空目录,创建main.cpp
文件,输入代码。然后g++ -g main.cpp
编译,./a.exe
运行:
也可以使用clang++ -g main.cpp
编译,./a.exe
运行:
调试程序
VS Code
中输入Ctrl + Shift + P
,然后选择C/CPP: Edit Configurations
:
在与Win32
同层次上增加以下配置:
{
"name": "MinGW",
"intelliSenseMode": "clang-x64",
"includePath": [
"${workspaceRoot}",
"C:/msys64/mingw64/include",
"C:/msys64/mingw64/c++/7.3.0",
"C:/msys64/mingw64/c++/7.3.0/tr1",
"C:/msys64/mingw64/c++/7.3.0/x86_64-w64-mingw32",
"C:/msys64/mingw64/x86_64-w64-mingw32/include"
],
"defines": [
"_DEBUG",
"UNICODE",
"__GNUC__=7",
"__cdecl=__attribute__((__cdecl__))"
],
"browse": {
"path": [
"C:/msys64/mingw64/lib/*"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
}
主要配置包含路径,宏定义等内容。如下:
然后选择调试->添加配置
修改内容如下:
变量窗口,监视窗口,调用堆栈,一些控制按钮能完成基本的调试。
库安装
通过msys2
的包管理器pacman
可以很方便的安装一些库。一般先pacman -Ss
查找,找到自己想要安装的指定版本的库,然后通过pacman -S
安装。例如下面是如何安装boost
库的:
输入pacman -Ss boost
查找:
选择安装mingw-w64-x86_64-boost
,输入pacman -S mingw-w64-x86_64-boost
安装:
使用: