起因是学弟按照教程配置gcc,g++无果。编译还是出问题,coderunner的原理是在终端运行命令,我索性用wsl的bash替换原始的终端。
首先安装wsl。
如果点击打开出现 WslRegisterDistribution failed with error: 0x8007019e
管理员打开powershell
输入
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
之后会重启,然后再进Ubuntu就行了。
之后安装gcc,g++.
要先给apt换源
sudo vim /etc/apt/sources.list
把原来的删了或者注释掉,把下面的链接贴进去。
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
之后 sudo apt update
安装gcc,g++
sudo apt install gcc
sudo apt install g++
准备工作完成。
打开vscode
找到终端的界面
选择wsl
这时候之间运行coderunner会报错,因为$DIR返回的路径是windows的路径,linux子系统的路径是需要转换的。C:/User这样的路径。在wsl里面是/mnt/C/User。所幸coderunner提供了配置选项:
ctrl+shift+p,输入setting,选择打开设置
加入以下配置
"code-runner.runInTerminal": true,
"code-runner.terminalRoot": "/mnt/",
如此就大功告成。
Windows上比较坑的是有些编辑器保存的文本是gbk,所以得改成utf-8的,这样才不会出现乱码。
点击右下角的编码位置,通过编码重新打开,输入gbk,再点右下角的gbk,通过编码保存,输入utf-8。
这样就拥有了一个集成linux终端的编辑器了,大杀器啊。