如何在win10用vscode编写 CMU-15445-lab
课程要求是在linux环境运行,但win10可以安装linux子系统
- 目前只能在vscode上敲代码,享受代码高亮等功能。
- 运行代码和单元测试都需要在linux终端(vscode内带的也行)用cmake编译和运行。
诚邀一起刷project的好友!!!,我目前进度是project1结束,这玩意儿如果有适当的交流可以节省大量不必要的时间浪费。
有意请私戳我
文章目录
win10安装并配置linux子系统(Ubuntu)
下载linux
- 打开微软商店
- 直接搜Ubuntu,我下载的是18.04版(貌似最新版也是wsl1.0,且不知道为啥22版连接不上vscode)
- 下载好尝试打开,大概率会报错。通常是因为没有打开子系统的开关,解决方法如下:
- 左下方搜索控制面板
- 点开控制面板 -> “程序” ->“启用或关闭Windows功能“ -> “适用于linux的windows子系统”
- 重启完能正常打开并注册管理员账号了。
更换linux的源
源指的是linux下载软件默认使用的网站,原来的链接下载速度巨慢,建议更换
- 直接打开程序,弹出来终端黑框。
- 先备份原有配置
$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
- 用vim打开配置文件,删除原有全部链接(任意按一个字母进入编辑模式,删除完之后,按
esc
并依次输入:wq
,再回车则保存并退出)
$ sudo vim /etc/apt/sources.list
- 复制以下源(vim打开时,鼠标右键就是复制)
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
- 更新配置
$ sudo apt-get update
下载gcc
$ sudo apt install gcc
链接github
- 好像是自带了git,没带的话自己安一个
$ sudo apt install git
- 新建git账号(名字和邮箱填自己的)
$ git config --global user.name "name"
$ git config --global user.email "YourEmail@qq.com"
- 生产密钥,遇到选项直接一路回车就行(用于链接github)
$ ssh-keygen -t rsa -C "YourEmail@qq.com"
- 打开文件,复制密钥
$ sudo cat ~/.ssh/id_rsa.pub
- 打开自己的github网站,找到设置,在下面位置添加密钥即可
在这里插入图片描述
- 测试连通性( “but GitHub does not provide shell access”这句话不影响)
$ ssh -T git@github.com
配置课程lab,编写和测试
配置lab
新建一个自己的文件夹并进入
$ mkdir cmu15445
$ cd cmu15445
直接克隆文件就行
$ git clone "https://github.com/cmu-db/bustub.git"
(不建议官方文档这种下载办法,毕竟也不需要下载更新文件了)
接下来可以跟着官方文档这个部分走了
$ sudo ./build_support/packages.sh
$ mkdir build
$ cd build
$ cmake ..
$ make
关于测试
- 不需要
mkdir build
了,因为之前已经有这个文件夹了 - 对于自己想测试的模块,根据文件名如图进行
make
就行。例如图中的第一个项目:
$ cd build
$ make buffer_pool_manager_instance_test
$ ./test/buffer_pool_manager_instance_test
- 关于测试!!!!!!,仔细阅读官方文档,会发现它要求你去掉
DISABLED
前缀,不去掉不能测试!找到test
文件夹对应的测试CPP文件,打开,删除掉如图所示的位置的内容:(想打开哪个TEST就修改哪个)
- 现在可以依赖命令行进行测试了,注意不要尝试用VScode去测试,VScode需要配置自己的一套编译环境和配置文件。