【Linux开发笔记】VSCode+WSL——Windows搭建最轻量便捷的Ubuntu/Linux开发环境

news2024/11/29 0:50:04

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文件系统

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/85327.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安卓开发Android studio学习笔记21:ViewPager两种方式实现引导页

实现引导页一、ViewPager实现引导页第一步:创建三个xml1.page1.xml2.page2.xml3.page3.xml第二步:创建适配器GuideAdapter第三步:创建引导页原点1.activity_guide.xml2.GuideActivity.java二、 ViewPager(2)实现引导页…

[附源码]Node.js计算机毕业设计电影售票管理系统Express

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…

Docker中的bridge模式,可以这么设置

最近有几个已经就业的小伙伴,过来问千锋健哥关于Docker网络配置的问题,他们在实际开发中还是有些疑问。关于Docker网络这一块的内容确实很多,为了让大家搞清楚这个问题,健哥准备搞几篇系列文章,来为各位小伙伴解惑。这…

小游戏开发者流量变现指南

2018年微信在其6.6.1版本中宣布支持小游戏,之后的几年,但凡能掀起各大社交平台上病毒式传播的,几乎都是小游戏。 小游戏玩法简单,传播机制简单,套路简单,连赚钱的本质也简单。就拿近期火爆的《羊了个羊》小…

程序员也可以很浪漫,精选10个圣诞节特效及源码

最近离圣诞节不远了、整理了一些关于圣诞相关的前端特效网页设计和小游戏的代码送大家、直接上效果吧。 代码过长的 可预览获取 圣诞节快乐 - 文字渐入动画 <body><svg viewport"0 0 300 300"><text class"Merry" x"150" y&qu…

货淋室及货通道维护要点有哪些

货淋室及货淋通道维护要点&#xff0c;货淋室是货物进入洁净室所必需的通道&#xff0c;它可以减少货物进出洁净室所带来的污染问题。 货淋室及货淋通道维护要点&#xff1a; 1、定期使用仪器测定设备的各项技术指标&#xff0c;如不符合技术参数要求应及时予以处理。 2、根…

高低jdk版本中jndi注入(下)

目录 0x01 绕过高版本JDK&#xff08;8u191&#xff09;限制 如下两种绕过方式&#xff1a; 0x02 利用本地恶意Class作为Reference Factory 2.1 攻击利用 1. 服务端 2. 服务端 2.2 几种变体的表达式 调试分析 小结 0x03 利用LDAP返回序列化数据&#xff0c;触发本地Gadg…

nacos--基础--5.1--集成--SpringCloud--配置管理、服务发现、服务注册

nacos–基础–5.1–集成–SpringCloud–配置管理、服务发现、服务注册 代码位置 https://gitee.com/DanShenGuiZu/learnDemo/tree/master/nacos-learn/nacos-spring-cloud1、介绍 主要面向 Spring 的使用者通过2个实例&#xff0c;来介绍nacos和Spring的集成 配置管理服务注册…

运行时发现文件路径输出404

运行时发现文件路径输出404 tomcat不能显示中文原因主要是编码的问题&#xff0c; 因为Tomcat5的http Connector所用的URI解码默认用的是 ISO-8859-1&#xff0c; 而一般浏览器默认用的发送编码为UTF-8&#xff0c;这样问题就出现了&#xff0c; 初步的解决方法如下&#xff1a…

Mentor-dft 学习笔记 day40-Basic Test Data Formats for Patterns

Reduce Serial Loading Simulation Time with Sampling 使用write_patterns命令时&#xff0c;可以使用-sample开关保存完整pattern集的样本。这将减少pattern文件中的pattern数量&#xff0c;从而减少模拟时间。此外&#xff0c;-Sample开关允许您控制样本中包含的每种类型的p…

回归预测 | MATLAB实现WOA-BiLSTM鲸鱼算法优化双向长短期记忆神经网络多输入单输出航空寿命数据回归预测

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

ADI Blackfin DSP处理器-BF533的开发详解48:图像处理专题-Rotation (图像旋转处理)(含源码)

硬件准备 ADSP-EDU-BF533&#xff1a;BF533开发板 AD-HP530ICE&#xff1a;ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 功能介绍 代码实现了图像旋转处理&#xff0c;代码运行时&#xff0c;会通过文件系统打开工程文件根目下" …/ImageView"路径中的 tes…

【OpenCV-Python】教程:5-1 背景减法

OpenCV Python 背景减法 【目标】 读视频与显示视频创建背景模型与更新背景模型 【概述】 背景相减&#xff08;BS&#xff09;是一种常用且广泛使用的技术&#xff0c;用于通过使用静态相机来生成前景掩模&#xff08;即&#xff0c;包含属于场景中运动对象的像素的二值图…

UEFI固件使用OpenSSL暴露了软件材料清单(SBOM)

Binarly REsearch团队近日深入研究了最近的OpenSSL安全更新给UEFI固件供应链生态系统带来怎样的影响以及OpenSSL版本在固件环境中是如何广泛使用的。研究结果不容乐观。 科技行业正在积极讨论使用“软件材料清单”&#xff08;SBOM&#xff09;来化解供应链安全风险。为了确保…

前端面试常考 | js闭包

文章目录一. 闭包1. 介绍闭包2. 闭包的作用3. 闭包与变量二. 闭包引起的内存泄漏1. 闭包是如何引起内存泄漏的2. 如何解决闭包引起的内存泄漏三. 最后一. 闭包 1. 介绍闭包 有不少开发人员总是搞不清楚匿名函数与闭包两个概念&#xff0c;因此经常混用。同时闭包也是我们前端…

我见过最好的天线基础知识

天线作为无线电的发射和接收设备是影响信号强度和质量的重要设备,其在移动通信领域的重要性非常关键。通过对天线选型,天 线安装,天线调整从而保障基站覆盖区域的信号强度与质量。对其的 掌握程度是网规与网优工程师的技能基本要求之一。下文重点说明天线要掌握哪些方面及其原理…

版本控制 | 如何将 UnrealGameSync 与 Perforce Helix Core 结合使用

为了帮助虚幻引擎4和虚幻引擎5的开发&#xff0c;Epic公司开发了UnrealGameSync&#xff0c;使其与版本控制工具Perforce Helix Core交互。虽然UnrealGameSync除了P4V (Helix Core客户端)之外还有许多功能&#xff0c;但主要用途是分发内部引擎和项目构建&#xff0c;它极大地简…

springboot+vue

一、案例结构 用springboot做后端接口&#xff0c;采用restful风格。用vue-cli来创建前端项目&#xff0c;通过axios进行前后端交互。来实现用户的增删改查操作。二、效果图 点击修改&#xff1a; 点击添加&#xff1a; 三、服务器端 控制层代码&#xff1a; package com.ex…

【Tryhackme】dogcat(LFI+文件解析漏洞,Docker逃逸)

免责声明 本文渗透的主机经过合法授权。本文使用的工具和方法仅限学习交流使用&#xff0c;请不要将文中使用的工具和渗透思路用于任何非法用途&#xff0c;对此产生的一切后果&#xff0c;本人不承担任何责任&#xff0c;也不对造成的任何误用或损害负责。 服务发现 ┌──(r…

CentOS7.4安装教程

CentOS7.4安装教程&#xff1a; centos系统自行网上查找链接下载&#xff0c;我使用的是最小安装版本&#xff0c;搞服务器用 1、进入操作系统&#xff0c;选择第一项进行安装&#xff1a; 2、耐心等待&#xff0c;直到弹出这个界面&#xff1a; 3、下拉选择中文&#xf…