windows下使用vscode写作和写代码都比较不错,而且也有丰富的插件可以快速的完成不同环境的开发配置。不过因为比较习惯使用linux,所以就会使用到 win + wsl2 + linux的组合方案。而win下的vscode安装好wsl插件也可以浏览wsl linux下的文件并方便的进行编辑,不过看到官方示例上可以在linux下通过code指令直接运行还是想增加该功能。

linux vscode

我在wsl2下的ubuntu系统上键入该命令发现无法启动vscode,提示找不到该命令。本篇就从0-1总结下整个配置过程。

一、安装wsl2系统

以管理员身份打开命令提示符。或者您可以打开 Windows Powershell,输入以下指令:

1# 安装wsl,安装完需要重启OS
2wsl --install
3
4# 列出可用的发行版
5wsl --list --online
6
7# 安装DISTRO发行版
8wsl --install -d Ubuntu-22.04

win11上当前是wsl2,这和wsl之间的差别如下:

特征 WSL 1 WSL 2
Windows 和 Linux 之间的集成 是的 是的
快速启动时间 是的 是的
与传统虚拟机相比,资源占用量小 是的 是的
与当前版本的 VMware 和 VirtualBox 一起运行 是的 是的
托管虚拟机 是的
完整的 Linux 内核 是的
完整的系统调用兼容性 是的
跨操作系统文件系统的性能 是的

二、在WSL2上安装VSCode(不推荐)

在 Ubuntu 或 Debian GNU/Linux 或 Kali 上安装 VSCode

配置vscode源:

1wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
2sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
3sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
4rm -f packages.microsoft.gpg

安装vscode

1sudo apt-get install wget
2sudo apt install apt-transport-https
3sudo apt update
4sudo apt install code # or code-insiders

在openSUSE或SLES上安装VSCode

配置安装源

1sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
2sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/zypp/repos.d/vscode.repo'

安装VS Code

1sudo zypper refresh
2sudo zypper install code

测试

安装结束后就有了code命令,可以直接在对应的目录执行code .启动vscode。这时候就会跳出来一个linux版本下的vscode,不过界面有点丑,而且还会有如下提示:

To use Visual Studio Code with the Windows Subsystem for Linux, please install Visual Studio Code in Windows and uninstall the Linux version in WSL. You can then use the code command in a WSL terminal just as you would in a normal command prompt. Do you want to continue anyway? [y/N] y To no longer see this prompt, start Visual Studio Code with the environment variable DONT_PROMPT_WSL_INSTALL defined.

所以根据这个提示,理论上是可以直接使用的。后来检查了一下,发现windows主机上我使用的是vscode的绿色版,所以在环境变量中并没有配置,在环境变量里增加D:\soft\VSCode\bin目录后,再回到wsl子系统下测试,发现是可以直接查找到code命令的,如下:

1yangbk@yangbk:~$ whereis code
2code: /mnt/d/soft/VSCode/bin/code

这时候就可以直接在对应的目录运行 code .命令了,同样在windows系统也支持该操作。

另外也可以参看 Working with Visual Studio Code on Ubuntu on WSL2

Developing in WSL