虚拟机+vscode remote开发¶
作者:徐平 数据科学与工程学院 华东师范大学
1. 安装Ubuntu¶
Ubuntu下载地址:下载
点击下载

选择典型的类型配置,点击下一步

找到刚刚从网站下载的iso文件,点击下一步

设置名称和密码

设置虚拟机名称和虚拟机数据存放位置

设置磁盘大小,推荐40~80G,点击下一步

点击完成即可

虚拟机开机之后,不断点击Next即可, 注意这里选择Install Ubuntu,后续操作也是不断点击Next。

输入账号名和密码
后续就点击Next,最后安装Ubuntu,等待安装Ubuntu完毕,安装完毕之后点击Restart Now即可。
2. 配置环境¶
登录,进入终端,输入以下命令: 1. 安装网络工具
sudo apt update && sudo apt -y upgrade
sudo apt install -y net-tools openssh-server
- 输入命令
ssh-keygen -t rsa,然后一路回车,生成密钥。
- 然后检查
ssh服务器的状态,输入命令:sudo systemctl status ssh或sudo systemctl status sshd
注意这里可能出现的错误: - 上图中绿色的
active状态是红色的,表示sshd没有启动,使用命令sudo systemctl restart ssh或者sudo systemctl restart sshd。 -
systemctl找不到sshd/ssh服务,这里可以尝试输入下面两个命令:ssh-keygen -A和/etc/init.d/ssh start,然后再去查看服务器状态。 -
安装完毕之后,输入
ifconfig查看虚拟机ip
- 然后就可以在本地终端使用
ssh命令连接虚拟机服务器。ssh <用户名>@<上图操作中的ip地址>
- 安装
vscode:vscode下载地址 - 安装
ssh remote插件
- 配置插件,添加刚刚的虚拟机

- 输入连接虚拟机的命令,如下图示例

- 打开一个新的远程文件夹:

- 选择一个文件夹作为开发文件夹,这里我选择
/home/pingxu/Public/
进入新的文件夹之后,输入完密码,会问是否信任当前目录什么的,选择yes就行了,自此,现在虚拟机安装完毕,工作目录是/home/pingxu/Public/。
3. 安装必要软件¶
vscode中crtl+~打开终端,直接把下面命令拷贝过去
sudo apt-get update && sudo apt-get install -y locales apt-utils && rm -rf /var/lib/apt/lists/* \
&& localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
sudo apt-get update \
&& sudo apt-get install -y build-essential gdb cmake git wget flex texinfo libreadline-dev diffutils bison \
&& sudo apt-get install -y clang-format vim
sudo apt-get -y install clangd lldb
4. 安装miniob¶
# 从github克隆项目会遇到网络问题,配置网络代理命令
git config --global http.proxy http://<代理ip>:<代理端口>
git config --global https.proxy https://<代理ip>:<代理端口>
在Public目录下:
git clone https://github.com/oceanbase/miniob
cd miniob
THIRD_PARTY_INSTALL_PREFIX=/usr/local bash build.sh init
完毕之后,我们用vscode打开miniob,作为新的工作目录。


5. vscode插件配置¶
- 首先安装插件
clangd和C/C++ Debug。 安装clangd,

同样的方式安装C/C++ Debug。

- 修改好代码之后,
Ctrl+Shift+B构建项目,构建完毕后有一个build_debug的文件夹,存放编译后的可执行文件。 - 使用
clangd作为语言服务器, 构建完毕后,将build_debug中的compile_commands.json文件复制到miniob目录中,随便打开一个cpp文件,就可以看到clangd开始工作。

6. debug简单教程¶
用F5进行调试,关于如何vscode如何调试,可以参考相关的资料:cpp-debug。修改launch.json文件中program和args来调试不同的可执行文件。
