在 Windows上用WSL和VSCode进行Linux开发环境配置

在开发过程中,许多开发者需要在 Linux 环境中编写、调试和运行代码。然而,直接安装 Linux 系统可能不是最便捷的选择,尤其是对于 Windows 用户。幸运的是,Windows Subsystem for Linux(WSL)为开发者提供了一种无缝体验,可以让我们在 Windows 上运行 Linux 环境。结合 VS Code 的强大功能,可以轻松地在 Windows 上实现 Linux 开发环境的配置和开发。

ps: vmware也可,学习使用大模型的话操作本地的GPU有点费劲,装个双系统也可以


安装前设置

控制面板中设置启动Hyper-V和使用于Linux的Windows子系统

1. 安装 WSL(Windows Subsystem for Linux)

a. 启用 WSL 功能

首先,我们需要启用 WSL 功能。打开 PowerShell(确保是以管理员身份运行),执行以下命令:

bash 复制代码
wsl --install

该命令将自动启用 WSL,并安装最新版本的 WSL 2。如果你使用的是 Windows 10,可能需要手动启用 WSL 和虚拟机平台,使用以下命令:

bash 复制代码
wsl --set-default-version 2
b. 安装 Linux 发行版

安装完 WSL 后,系统会提示你从 Microsoft Store 安装一个 Linux 发行版。最常用的发行版是 Ubuntu ,你可以直接在 Microsoft Store 中搜索 Ubuntu ,点击 安装

c. 配置 Ubuntu

安装完成后,点击 启动 ,开始配置你的 Ubuntu 环境。此时,你需要设置一个 用户名密码,这些将在 Linux 环境中使用。


2. 安装和配置 VS Code

a. 下载和安装 VS Code

前往 VS Code 官网 下载并安装最新版本的 Visual Studio Code

b. 安装 VS Code 的 WSL 插件

为了让 VS Code 支持远程开发,我们需要安装 WSL 插件。打开 VS Code,点击左侧 扩展 (Extensions)按钮,搜索并安装 Remote - WSL 插件(由 Microsoft 提供)。

安装完成后,重启 VS Code。

c. 连接到 WSL

安装插件后,按下 Ctrl+Shift+P 打开命令面板,输入并选择 Remote-WSL: New Window 。VS Code 会自动连接到你的 WSL 环境,并在新的窗口中打开。你现在已经进入了完全的 Linux 开发环境。


3. 使用 VS Code 在 WSL 中进行开发

a. 打开项目

连接到 WSL 后,你可以通过 VS Code文件 (File)菜单选择 打开文件夹(Open Folder),然后选择你在 WSL 环境中存储的项目文件夹,开始编辑代码。

b. 在 WSL 中安装开发工具

你可以通过 VS Code 内置终端(按 `Ctrl + `` 打开)直接在 WSL 中运行命令。比如,想要安装 Node.js,可以使用以下命令:

bash 复制代码
sudo apt update
sudo apt install nodejs
sudo apt install npm

在终端中安装的所有工具和依赖将直接在 WSL 环境中生效,这样你就可以像在 Linux 系统上一样开发。

c. 调试代码

VS Code 允许你在 WSL 环境中直接调试代码,支持包括 Python、Node.js 等多种语言的调试。你可以通过设置断点、查看变量值等方式,轻松调试代码。


4. 可选:安装其他插件

除了 Remote - WSL 插件外,你还可以根据需要安装更多的 VS Code 插件来提高工作效率。例如,安装 Python 插件用于 Python 开发,安装 C++ 插件用于 C++ 开发等。安装后的插件将能够在 WSL 环境中正常工作。

相关推荐
幸存者letp16 小时前
Python 常用方法分类大全
linux·服务器·python
知识分享小能手16 小时前
Ubuntu入门学习教程,从入门到精通,Linux操作系统概述(1)
linux·学习·ubuntu
不起眼的小草16 小时前
windows系统使用nvm配置自动切换node版本
windows
KnowFlow企业知识库16 小时前
KnowFlow v2.3.0 重磅发布:适配 RAGFlow v0.22.1 和 MinerU v2.6.5、新增支持多模态视频解析,让知识库"看见"更多
linux·github
悟空空心16 小时前
服务器长ping,traceroute
linux·服务器·网络·ssh·ip·ping++
此生只爱蛋17 小时前
【Linux】正/反向代理
linux·运维·服务器
qq_54702617917 小时前
Linux 基础
linux·运维·arm开发
zfj32117 小时前
sshd除了远程shell外还有哪些功能
linux·ssh·sftp·shell
我只会发热17 小时前
Ubuntu 20.04.6 根目录扩容(图文详解)
linux·运维·ubuntu
爱潜水的小L17 小时前
自学嵌入式day34,ipc进程间通信
linux·运维·服务器