基于Windows和WSL 2的Visual Studio Code (VS Code) 安装及搭建 C/C++ 编译环境完整详细步骤
VS Code下载安装
Visual Studio Code(VS Code)是微软2015年推出的一个轻量但功能强大的源代码编辑器,基于 Electron 开发,支持 Windows、Linux 和 macOS 操作系统。内置了对JavaScript,TypeScript和Node.js的支持并且具有丰富的其它语言和扩展的支持,功能超级强大。VSCode是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义快捷键、括号匹配和颜色区分、代码片段、代码对比 Diff、GIT命令等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。
一、安装VS Code,首先点击下面的VS Code下载官网链接。注意:若之前已经下载但是想要重新安装,需要完全卸载VS Code及其相关下载的插件可以参考下面第二个链接操作。
Visual Studio Code:点击打开Visual Studio Code (VS Code) 下载官网
完全卸载VS Code:点击打开完全卸载VS Code方法网页
二、点击“Donwload”。
三、因为是基于windows64位操作系统安装VS Code,因为博主操作系统登录的账户是管理员账户,所以选择“Windows”下的“System Install 64 bit”,点击“64 bit”进行VS Code安装文件下载。(注意:选择用户安装也可以,User和System版本的区别主要在于是用户此时本地电脑的操作系统登录的是管理员账号Administrator就用System版本,否则用user版本)
四、上一步点击后会产生一个新的页面,然后不用点击任何地方,等待VS Code文件自动下载即可(大约30秒作用)。
五、根据VS Code安装包下载的路径找到VS Code安装包,双击VS Code安装包执行VS Code安装程序。
六、若电脑出现安全警告弹框,点击“运行”即可,若没有直接跳到下一步。
七、按照下面图片中的步骤依次点击。
八、按照下面图片中的步骤依次点击。注意:博主建议修改文件安装路径,否则默认安装到C盘。
九、点击“下一步”。
十、按照下面图片中的步骤依次点击。注意:其中有个“添加到PATH(重启后生效)”这个选项,建议安装的时候默认选择就行,但是安装完必须将电脑重启之后VS Code环境才配置到PATH环境中。
十一、首先安装信息确认清楚没有问题之后,再点击“安装”。注意:若发现有问题可以点击多次“上一步”回到错误信息页面进行修改之后再安装上面流程进行顺序按照。
十二、等待30秒作用安装,然后点击“完成”。
十三、VS Code语言设置(英文设置成中文),找到点击Extensions (Ctrl+Shift+X),然后输入“>language”,然后找到中文简体,点击其“install”,安装好后点击“Restart”重启VS Code。
十四、给VS Code换一个好看的主题:比如SynthWave '84 - VS Code theme主题(见下图)。
windows下本地VS Code的C/C++ 相关插件安装及编译环境搭建
一(重要)、安装相关C/C++ 相关插件
-
【C/C++支持】C/C++
-
【C/C++编译运行一体化】C/C++ Compile Run(编译运行无需配置task.json和launch.json文件,保存后直接按F6自动编译运行)
-
【程序运行环境】Code Runner
-
【自动补齐】C++ Intellisense
-
【Clang编译环境】C/C++ Clang Command Adapter
-
【调试工具】Native Debug
-
【静态检查工具】C/C++ Advanced Lint
-
【AI 辅助开发功能(例如增强的 IntelliSense)将用户最有可能使用的内容放在完成列表的顶部,从而节省时间】Visual Studio IntelliCode
-
上述插件全部安装完成。
二、VS Code只是一个编辑器其本身不支持编译运行功能,因此需要通过插件来配置编译运行环境,博主使用MinGW-W64配置编译环境。首先点击下面链接打开网页。
MinGW Distro - nuwen.net:点击打开MinGW-W64下载链接
三、两种方式下载,第一种按照下面图片点击进行下载,下载时间大约20分钟作用,第二种博主把自己下载好的文件百度云网盘分享,大家可以保存后下载到自己电脑上,在执行后续操作。
- 第一种下载方式
- 第二种下载方式(建议)
mingw-18.0-without-git.exe:点击打开百度云网盘下载mingw-18.0-without-git.exe,提取码:6666
四、根据之前下载的路径找到mingw-18.0-without-git.exe文件,并双击文件运行安装。
五、点击“Extract”,等待30秒作用安装。
六、根据上一步下载的路径找到bin文件,然后复制其路径,博主的bin文件路径是“E:\mingw\MinGW\bin”。
七、将bin文件路径添加到环境变量PATH中。
八、检查是否安装成功,在控制平台CMD输入下面的命令查看,如果出现以下图内的信息则表示安装成功。
g++ --version
九、新建一个文件夹作存放代码的文件夹(称作工作区),注意存放文件的路径中不能含有中文和空格。
十、回到VS Code,点击“文件”,选择“打开文件夹”,然后选择上一步新建的文件夹,然后点击“选择文件夹”。
十一、按照下面图片依次选择点击,然后VS Code成功出现文件夹。
十二、在该文件夹下新建一个文件夹名称为“.vscode”。
十三、在工程目录文件夹下新建一个 C/C++文件,命名为test.cpp,然后复制下面代码粘贴到文件,然后Ctrl+S
保存文件。
- test.cpp
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World !" << endl;
return 0;
}
十四、根据下面图片内容按步骤进入调试界面添加配置环境,选择 C++(GDB/LLDB),再选择 g++.exe(使用MinGW,编译C用gcc,编译C++用g++),之后会自动生成 launch.json 配置文件。
十五、上一步配置好环境之后,按照下面图片的步骤依次点击进行运行,输出运行结果。
十六(可跳)、解决代码程序运行在终端输入的问题,按照下面图片的步骤执行,然后重启VS Code即可。
十七、若出现“Please install clang or check configuration clang.executable”问题,按照下面图片步骤点击下载,下载大约2分钟作用,然后按照图片内的步骤进行安装,最后在控制平台CMD进行测试是否安装成功,最后重启VS Code即可。
LLVM Download Page:点击打开LLVM Download Page下载网页
Windows下本地VS Code安装配置LeetCode刷题
一、下载Node.js插件安装包(版本太高会报错“Accessing non-existent property ‘padLevels‘ of module”),点击打开下面链接。
Node.js插件安装包:点击打开Node.js插件安装包下载网页链接
二、按照下面图片内容操作点击下载安装包。
三、找到上一步下载的Node.js安装包进行解压。
四、在VS Code上安装LeetCode插件,按照下面图片进行操作。
五、配置上一步安装的LeetCode插件,按照下面图片操作。
六、登录LeetCode账户,按照下面图片操作(输入账户和密码后就能够登陆成功,账户建议输入用户邮箱)。
基于Windows10下的WSL 2安装及连接VS Code和搭建 C/C++ 编译环境
WSL 2 是适用于 Linux 架构的 Windows 子系统的新版本,它支持适用于 Linux 的 Windows 子系统在 Windows 上运行 ELF64 Linux 二进制文件。它的主要目标是提高文件系统性能,以及增加完整的系统调用兼容性。这种新架构改变了这些 Linux 二进制文件与 Windows 和计算机硬件交互的方式,但仍提供与 WSL 1(当前广泛使用的版本)相同的用户体验。单个 Linux 发行版可以使用 WSL 1 或 WSL 2 架构运行。每个发行版都可以随时升级或降级,您可以并排运行 WSL 1 和 WSL 2 发行版。WSL 2 使用一个全新的架构,该架构受益于运行真正的 Linux 内核。
一、首先可以先通过微软WSL 2官方网站阅读了解WSL 2,然后再进行后面的按顺序进行WSL 2安装。
微软WSL 2:点击打开微软WSL 2介绍及下载官方网站
二、首先启用Windows功能,有下面两种方式执行。注意:无论哪种方法都需要重启电脑再进行下一步。
- (1)根据下面图片顺序点击执行,完成后重启电脑再进行下一步。
- (2)以管理员身份运行CMD控制平台,然后依次输入下面的命令运行安装WSL 2,重启电脑再进行下一步。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
三、完成上步之后,点击下面链接进行文件下载。
WSL2 Linux 内核更新包:适用于 x64 机器的 WSL2 Linux 内核更新包
四、点击下载的文件直接双击运行安装(大约十秒内可以完成)。
五、运行CMD控制平台,然后输入下面的命令将WSL 2设置为默认版本。
wsl --set-default-version 2
六、安装 Linux 发行版,博主建议选择安装Ubuntu 20.04 LTS,点击打开下面的链接。
Ubuntu 20.04 LTS官方网页:微软安装Ubuntu 20.04 LTS官方网页
七、根据下面图片顺序依次点击,然后在微软商店下载Ubuntu 20.04 LTS,下载需要3分钟作用。
八、下载完成之后点击“打开”,等待30秒左右安装。
九(慢点操作)、然后输入你个人要创建的用户账户,然后输入你要设置的初始密码和重复初始密码一遍。注意:关于密码的输入显示屏是不显示的,只要自己确认输入完后直接回车键就行。
十、WSL 2基本命令点击下面链接打开,供参考。
# 运行默认分发版
wsl
# 以指定用户运行执行分发版
wsl -u <user> -d <distribution>
# example
wsl -u xuwhao -d my-distribution
# 导出分发版(可用于备份,更改分发版安装位置等)
wsl --export <distribution> <location>
# example
wsl --export my-distribution D:\bak\my-distribution.tar
# 导入分发版(可导入上一步导出的 tar 包,实现备份恢复,更改安装位置等功能)
wsl --import <new-distribution> <install-location> <bak-location> --version <default>
# example , version 不指定默认为你设置的默认 wsl 版本
wsl --import new-ubuntu D:\wsl\ubuntu D:\bak\my-distribution.tar --version 2
# 卸载分发版
wsl --unregister <distribution>
# 停止某个分发版
wsl -t <distribution>
# 立即终止所有正在运行的分发和 WSL 2 轻型工具虚拟机
wsl --shutdown
# 显示有关所有分发的详细信息
wsl -l -v
十一、运行默认分发版,首先运行CMD控制平台,然后输入下面的命令运行进入Ubuntu。注意:输入cd ~
和cd ..
运行可以跳转到根目录。
wsl
十二(建议务必操作)、若想要使用管理员root账户,则运行下面的命令,再输入之前设置的用户的初始密码,再为root设置新的初始密码和重复此密码。注意:sudo 的英文全称是 super user do,即以超级用户(root 用户)的方式执行命令。
sudo passwd root
十三、修改虚拟硬盘文件的默认路径,ext4.vhdx文件(文件比较大)是WSL 2中的虚拟硬盘文件,如果查找此文件已经安装在C盘,则需要将其移动到其他硬盘,那么可以复制下面的命令依次在控制平台CMD上执行。注意:细心的可能会发现命令行前面的$变成#,是因为这是由原来的用户已经默认切换到root账户。
- 使用下面的命令将ext4.vhdx文件导出为wsl-ubuntu20.04.tar文件,该文件放到D盘根目录,当然也可以将其修改成任何路径。
wsl --export Ubuntu-20.04 d:\wsl-ubuntu20.04.tar
- 使用下面的命令注销原Linux发行版。
wsl --unregister Ubuntu-20.04
- 使用下面的命令导入之前导出的wsl-ubuntu20.04.tar文件注册新位置的原Linux发行版。
wsl --import Ubuntu-20.04 d:\wsl-ubuntu20.04 d:\wsl-ubuntu20.04.tar --version 2
十四、WSL 2下Ubuntu用户新建和切换,参照下面的命令。
- 新建用户(新建的用户名自拟,博主举例为xrtest)。
useradd -m 新建用户名
- 查看系统home文件下已经存在的用户名(博主已经新建了两个普通用户xr和xrtest)。
ls /home
- 给新建用户名设置初始密码。
passwd 新建用户名
- 退出现登录用户的账户,返回原本 ubuntu 的默认用户(博主的系统默认是root用户)。
exit
- 将账户切换到已存在的用户名,然后一般是需要输入对应的密码才能切换成功。
su 系统已有用户名
十五、赋予普通用户sudo的权力并且不需要输入root用户的密码,注意:此权限必须赋予给是可靠的普通用户。
- 使用下面的命令运行,打开/etc/sudoers 文件进行权限配置。
visudo
- 根据下面的内容移动光标向下输入下面的内容,注意用户名改成你要赋予sudo权力给的已存在的普通用户(博主举例是xr),且命令中的NOPASSWD表示不需要再输入密码,然后
Ctrl+O
保存,然后回车
,再Ctrl+X
退出/etc/sudoers 文件。
ubuntu ALL=(ALL:ALL) NOPASSWD: ALL
要赋予权限的用户名 ALL=(ALL:ALL) NOPASSWD: ALL
- 输入下面命令在不同的用户账户下测试,可以发现权限的限制。
sudo tail -n 3 /etc/shadow
十六、忘记root用户或者普通用户密码,进行重新设置输入新密码和重复新密码实现密码重置。
- root用户账户密码忘记重新设置
passwd
- 普通用户账户密码忘记重新设置
passwd 普通用户名
十七(包装)、安装 zsh及主题包,注意:请一行一行进行输入和对应修改,不是全部复制粘贴就直接运行,请见博主下面的一系列安装图片进行参考。
- 设置代理,编辑代理脚本,复制下面的命令粘贴在Ubuntu运行新建一个proxy.sh文件。
vim ~/proxy.sh
- 修改好下面代码中的Port接口后复制下面的代码粘贴到新建proxy.sh空文件。
# 粘贴下列代码 (port 改成自己代理软件的port=7890, 我用的 clash for windows)
#!/bin/sh
hostip=$(cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }')
wslip=$(hostname -I | awk '{print $1}')
port=7890
PROXY_HTTP="http://${hostip}:${port}"
set_proxy(){
export http_proxy="${PROXY_HTTP}"
export HTTP_PROXY="${PROXY_HTTP}"
export https_proxy="${PROXY_HTTP}"
export HTTPS_proxy="${PROXY_HTTP}"
git config --global http.proxy "${PROXY_HTTP}"
git config --global https.proxy "${PROXY_HTTP}"
echo "success"
}
unset_proxy(){
unset http_proxy
unset HTTP_PROXY
unset https_proxy
unset HTTPS_PROXY
git config --global --unset http.proxy
git config --global --unset https.proxy
echo "success"
}
test_setting(){
echo "Host ip:" ${hostip}
echo "WSL ip:" ${wslip}
echo "Current proxy:" $https_proxy
}
if [ "$1" = "set" ]
then
set_proxy
elif [ "$1" = "unset" ]
then
unset_proxy
elif [ "$1" = "test" ]
then
test_setting
else
echo "Unsupported arguments."
fi
- 保存和退出操作,此次操作需要选择先按ESC,然后输入
:wq
。注意:此时必须保证键盘语法是英文模式而非中文模式,否则无效输入。
(1)先按 ESC,左下角就可以进行输入
(2)然后选择::w 保存但不退出
:wq 保存并退出
:q 退出
:q! 强制退出,不保存
:e! 放弃所有修改,从上次保存文件开始再编辑命令历史
- 设置下代理或者配置hosts,代理软件要设置允许虚拟机访问 LAN(局域网),如 Clash 要打开 Allow LAN 按钮。
# 创建一个新文件用于存放后续的格式设置
vim ~/.zshrc
# 别名设置proxy运行命令
alias proxy="source ~/proxy.sh"
# 启动代理
proxy set
# 关闭代理()
# proxy unset
# 测试代理情况
# proxy test
- 安装zsh软件包并配置。
#安装zsh软件包
sudo apt-get install -y zsh
# 安装ohmyzsh (如果 443 error, 先去上面设置下代理或者配置hosts,代理软件一定要设置允许虚拟机访问 LAN,如 Clash 要打开 Allow LAN 按钮。)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# 确定改变以前的格式配置
y
# 设置为默认shell
chsh -s /usr/bin/zsh
# 安装字体库
# clone
git clone https://github.com/powerline/fonts.git --depth=1
# install
cd fonts
# 安装
./install.sh
# clean-up a bit
cd ..
# 解压
rm -rf fonts
# 安装 powerlevel10k 主题包
sudo git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
# 修改配置文件,更改主题
sudo vi ~/.zshrc
# 修改对应行,按字母i对文档insert进行修改
ZSH_THEME="powerlevel10k/powerlevel10k"
source ~/.zshrc
- 配置你自己独特的设置主题(有n个选择,你值得拥有),一般是选择对应的y或者n,也有数字选择(下面图片仅仅举例说明而已)。
# 确定这么设置
y
# 不想这么设置
n
# 数字选项
1-n
- 安装插件更完美。
# 进入插件路径
cd ~/.oh-my-zsh/plugins
# 下载自动补齐、高亮、建议插件
# 插件
wget http://mimosa-pudica.net/src/incr-0.2.zsh
# 插件
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
# 插件
git clone https://github.com/zsh-users/zsh-autosuggestions.git
# 插件
source incr*.zsh
# 修改配置文件
vim ~/.zshrc
# 打开文件后下移找到plugins=(git)这行开始按照下面内容修改
plugins=(git
zsh-syntax-highlighting
zsh-autosuggestions)
source ~/.oh-my-zsh/oh-my-zsh.sh
# 执行修改命令
source zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
十八、安装Remote - WSL插件,将VS Code扩展成Windows和Ubuntu两种模式。
十九、下载插件之后会自动连接之前已经下载好的WSL 2下的Ubuntu操作系统,然后VS Code可以自行切换成Windows和Ubuntu两种模式(见下面的前两张图),切换体现在是否远程连接(操作按下面第三张图)。
二十、将本地电脑下载的插件全部云端复制到WSL 2的Ubuntu的VS Code中,根据下面图片点击“云复制迁移标签”,然后选择点击复制的“插件框”,博主是全选,然后点击“确定”,等待30秒复制然后复制安装扩展成功。
二十一、在WSL的VS Code配置C/C++ 代码编译环境(编译器g++、gcc,调试器gdb)。首先复制下面的命令在ubuntu运行(注意:若出现“Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?”错误,可以点击下面的文章链接去解决,博主是直接使用apt-get update
就解决了,然后重新输入下面的命令ubuntu运行;每次的下载需要一定时间,请耐心等候)。
- gcc的安装
sudo apt install gcc
apt-get update
- g++的安装
sudo apt install g++
- gdb的安装
sudo apt install gdb
- 测试g++、gcc、gdb安装是否成功
g++ --version
gcc --version
gdb --version
二十二、在子系统(WSL 2下Ubuntu系统)里面输入下面的命令打开远程连接WSL 2下Ubuntu的VS Code。
code .
二十三、在VS Code新建一个文件夹作存放代码的文件夹(称作工作区),注意存放文件的路径中不能含有中文和空格,博主是创建了VSCODE/Projectone文件夹作为工作区。
二十四、在工程目录文件夹下新建一个 C/C++文件,命名为Helloworld.cpp,然后复制下面代码粘贴到文件,然后Ctrl+S
保存文件。
- Helloworld.cpp
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World !" << endl;
return 0;
}
二十五、按照下面图片依次点击运行调试,成功运行输出。
二十六、若出现“Please install clang or check configuration clang.executable”问题,打开WSL 2下Ubuntu系统,按照下面图片步骤点击下载,下载大约2分钟作用,然后按照图片内的步骤进行安装,最后进行测试是否安装成功,然后重启WSL 2下Ubuntu系统VS Code。
- 安装llvm
sudo apt-get install llvm
- 安装clang
sudo apt-get install clang
- 测试clang安装成功,查看安装的clang版本
clang -v