好几年没有写过C/C++代码,基本上都忘光了,之前是使用VC++6.0写代码的,最近用VSCode成功搭建了C/C++开发环境,这里记录一下搭建过程。
1. 安装VSCode
在官网https://code.visualstudio.com/#alt-downloads
下载安装包安装即可。
2. 安装VSCode插件
这里根据自己的需要安装了以下插件:
1. C/C++
2. Chinese (Simplified) Language Pack for Visual Studio Code
3. 安装VirtualBox
VirtualBox 是一个虚拟机软件,可以通过https://www.virtualbox.org/wiki/Downloads
这里进行下载安装。
4. 安装Ubuntu系统
在VirtualBox新建一个虚拟机,分别填写如下信息。
名称: ubuntu64 #虚拟机名称
文件夹: E:VboxVm #虚拟机的存储路径
类型: Linux
版本: ubuntu(64-bit)
分配内存: 2048 MB
下一步
下一步
磁盘大小: 60GB
创建虚拟机后,选中虚拟机,设置
系统:
1. 启动顺序去掉软驱
2. 处理器2
存储:
控制器-盘片-分配光驱(选择下载准备好的ubuntu-18.04.4-desktop-amd64.iso)
网络:
网卡1,选择桥接网卡
共享文件夹:
共享文件夹路径(H:Vboxmnt)
共享文件夹名称(mnt)
自动挂载
固定分配
挂载点(不填)
启动虚拟机。
启动虚拟机后,在菜单栏中,选择“设备”->“安装增强功能” ,如果没有启动安装,则双击桌面上的光盘进行安装。
安装完成后重启虚拟机
sudo reboot
在菜单栏中,选择“视图”->“虚拟机显示屏1” 选择合适的分配率。
然后在终端中执行以下命令,解决vbox共享文件夹非root用户无权限访问的问题。
sudo usermod -aG vboxsf $(whoami)
在Ubuntu中安装VSCode,安装相应的插件(这一步跟windows环境是一样的)。
5. 创建项目
在Windows系统中的共享目录(即H:Vboxmnt
)创建一个helloworld项目,然后用VSCode以打开文件夹的方式,打开helloworld项目。
打开项目后,需要配置C/C++相关的编译器等信息。
使用Ctrl + ~
打开命令行终端:
mkdir .vscode # 创建.vscode目录,注意前面有个点
在.vscode目录下面分别创建launch.json
和tasks.json
launch.json
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) helloworld",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/main",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "build"
}
]
}
tasks.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "g++",
"args": ["-g", "${workspaceFolder}/*.cpp", "-std=c++11", "-o", "main"]
}
]
}
在helloworld目录下创建main.cpp,并编写如下代码
#include <iostream>
int main(int argc, char* argv[]) {
std::cout << "Hello world!" << std::endl;
return 0;
}
最终的目录结构如下:
-helloworld
---.vscode
------launch.json
------tasks.json
---main.cpp
6. 调试代码
由于上面的helloworld代码是在共享目录中,所以这里代码会实时共享到ubuntu虚拟机中。
在ubuntu虚拟机中,打开VSCode,打开共享目录中的helloworld项目,打开调试界面(Ctrl + Shift + D
),点击调试即可。
这样就可以在代码中打断点和调试代码了。
这里之所以在ubuntu中调试代码,是因为在Windows安装C/C++的编译器实在太麻烦了。
但是在虚拟机中编写代码又不方便,所以想到了这个方法,在Windows平台编写代码,在Ubuntu平台编译调试代码。
关注公众号,一起学习,一起进步。