【Linux开发笔记】VSCode+WSL——Windows搭建最轻量便捷的Ubuntu/Linux开发环境
创始人
2024-04-22 16:47:12
0次

1.概述

我们一般搭建Ubuntu开发环境都是采用VMware或者VirtualBox的虚拟机安装Ubuntu的方案,但是这样的方案会有几个弊端:

  1. 安装、启动慢;
  2. 使用图形桌面时卡顿、鼠标不跟手、打字有延迟;
  3. 磁盘空间占用比较大;
  4. 内存资源占用比较大;
  5. 虚拟机网络的配置复杂;
  6. 与物理机以及外部进行文件或数据交互比较繁琐;
  7. 虚拟机本身比较容易出bug。

再或者就是安装Windows+Ubuntu的双系统,这样的方式在日常的开发中也有不少的弊端,同时只能运行一个系统,双系统的方案没办法做到两个系统同时使用。

诸如此类的一些弊端,那在Windows上有没有更加轻便的Ubuntu环境呢?

有的

如果没有特别的图形界面开发需求的话,可以采用Windows自身提供的WSL方案进行Ubuntu的环境搭建。WSL全称Windows Subsystem for Linux(Windows上的Linux子系统),这套设施是微软推出的,为开发者们提供了很大的便利。(注:WSL只在win10的较新版本之后才支持)

通过WSL将Ubuntu成功安装之后,可以直接在Windows中打开Linux命令行终端,可以直接在Windows系统中挂载Ubuntu的文件系统并对其进行操作,可以直接通过Windows下安装的VSCode打开Linux的工作区进行开发和调试。

WSL的方案具有以下的优点:

  1. 磁盘空间占用小;
  2. 内存资源占用小;
  3. 可以直接在Windows中打开Linux终端;
  4. 可以直接在Windows资源管理器中挂载Linux文件系统并对其进行操作;
  5. Windows下的VSCode可以打开Linux的工作区进行开发和调试;
  6. Linux的网络配置与Windows物理机的配置完全同步;
  7. 稳定性和兼容性较好。

2.安装WSL

2.1 启用适用于Linux的Windows子系统

在控制面板->程序->程序和功能页面左侧,打开启用或关闭Windows功能,勾选适用于Linux的Windows子系统。
启用适用于Linux的Windows子系统

2.2 安装Ubuntu

这一步也是非常的简单,直接在Microsoft Store中搜索Ubuntu,选择一个合适的版本直接安装就OK了。
Microsoft Store中安装Ubuntu
安装完成后,可以在Windows的开始菜单中看到已经安装的Ubuntu,
已经安装的Ubuntu
点击运行,便打开了一个Linux的命令行终端,对其进行一些初始化配置,便可以使用了。

2.3 挂载Ubuntu文件系统

Ubuntu安装完成后,为了方便在Windows中对其文件系统进行访问,我们可以将Ubuntu的文件系统挂载到Windows下。
Win+R打开运行,执行如下指令。

\\wsl$

执行\wsl$
然后就可以看到Ubuntu的文件系统目录,
Ubuntu目录
右键选择映射网络驱动器,将Ubuntu的文件系统目录挂载到Windows资源管理器中,
映射网络驱动器
映射成功后,便可以在我的电脑中看到Ubuntu的目录(注:前提是WSL已经启动),
Ubuntu目录挂载成功

3 VSCode连接WSL

在Windows中打开VSCode,并在扩展中搜索“remote-”,找到WSL并进行安装。
VSCode中安装WSL
安装成功后,重启软件,在左侧功能区进入远程资源管理器,然后选择WSL Targets,列表中就会出现已安装的Ubuntu。VSCode远程资源管理器
这里就可以连接WSL中安装的Ubuntu,并可以打开Ubuntu中的工作区进行编程了,也可以点击左下角绿色的远程连接按钮打开WSL连接。
远程连接
连接成功后可以看到左下角绿色按钮发生了变化,并且在VSCode中打开文件夹,出现的就不再是Windows的资源管理器,而是Linux的文件系统了。
远程连接成功
VSCode中打开Linux文件系统

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...