本站点文档内容均翻译自code.visualstudio.com,仅供个人学习,如有差异请以官网为准。

在WSL中进行远程开发

本教程将引导您启用Windows Subsystem for Linux (WSL),并使用WSL扩展在WSL中运行Visual Studio Code。

先决条件

您需要Visual Studio Code已安装。

安装扩展

WSL 扩展使您能够在 Windows 子系统 for Linux (WSL) 中运行 Visual Studio Code。

安装WSL扩展

WSL 扩展

先决条件检查

安装WSL扩展后,您将在最左侧看到一个新的状态栏项目。

远程状态栏项目

远程状态栏项目可以快速显示 VS Code 正在哪个上下文中运行(本地或远程),点击该项目将显示 WSL 扩展命令。

WSL 扩展命令

启用WSL

Windows Subsystem for Linux (WSL) 是 Windows 10 的可选功能。您可以通过 Windows 功能对话框或 PowerShell 启用它。

Windows 功能对话框

在Windows搜索栏中输入“features”,以显示“Turn Windows Features on and off”对话框。向下滚动并勾选“Windows Subsystem for Linux”。

打开和关闭Windows功能对话框

选择 确定,系统将提示您重启Windows。

PowerShell

如果你愿意,你可以以管理员身份打开 PowerShell 并输入:

启用-Windows可选功能 -在线 -功能名称 Microsoft-Windows-Subsystem-Linux

命令运行后,系统将提示您重启Windows。

PowerShell 提示重启

检查WSL

重启Windows后,您可以通过打开命令提示符并输入'wsl'来检查是否已启用WSL。

WSL 检查

WSL 已启用,但您尚未安装 Linux 发行版。

安装一个Linux发行版

您从 Microsoft Store 安装适用于 WSL 的 Linux 发行版。您可以使用商店应用,或在 Windows 搜索栏中搜索 Linux 发行版。选择您要安装的 Linux 发行版(例如 Ubuntu),并按照提示操作。

选择 Ubuntu 发行版

选择 安装.

安装 Ubuntu

完成后,选择启动以开始使用。这将打开一个Linux终端并完成安装。由于您正在设置一个完整的Linux实例,您需要创建一个用户ID和密码。现在您正在Windows上运行Linux。

Linux 终端

Python 开发

如果你还没有安装Python,请运行以下命令在你的Linux安装中安装Python3和pip(Python的包管理器)。

超级用户权限 软件包管理工具 更新
超级用户权限 软件包管理工具 安装 Python3 Python3-pip

为了验证,请运行:

python3 --版本

从经典的“Hello World”应用程序开始。创建一个名为“helloWorld”的新文件夹,然后添加一个Python文件,当运行时会打印一条消息:

创建目录 helloWorld && 进入目录 helloWorld
打印 'print("来自 windows 上的 ubuntu 上的 python 的 hello!")' >> hello.py
python3 hello.py

在远程 Linux 环境(这个 WSL 发行版在技术上是另一个没有用户界面的机器,碰巧在你的电脑上本地运行)中,你的开发工具和体验相当有限。你可以在终端中运行 Vim 来编辑文件,或者你可以通过 Windows 侧的源编辑器来编辑源文件。\\wsl$挂载:

\wsl$ 挂载

这个模型的问题是,Python 运行时、pip 或任何 conda 软件包在 Windows 上都没有安装。

在 Windows 上没有 Python

记住,Python 是安装在 Linux 发行版中的,这意味着如果你在 Windows 侧编辑 Python 文件,除非你在 Windows 上安装相同的 Python 开发堆栈,否则你无法运行或调试它们。而这样就违背了设置一个包含所有 Python 工具和运行时的隔离 Linux 实例的初衷!

在WSL中运行

在WSL终端中,确保你在helloWorld文件夹中,并输入'代码 .启动Visual Studio Code。'.'参数告诉VS Code打开当前文件夹。如果你使用的是Insiders版本的VS Code,你将不得不运行'code-insiders .'相反。

注意: 如果这个命令不起作用,你可能需要重启你的终端,或者你在安装VS Code时可能没有将其添加到你的路径中。

启动 VS Code

你首先会看到一条关于“正在安装 VS Code Server”的消息(c7d83e57… 是与你刚刚安装的客户端工具匹配的 VS Code Server 的版本号)。VS Code 会在 Linux 侧安装一个小型服务器,然后桌面版 VS Code 会与之通信。该服务器随后会在 WSL 中安装和托管扩展,以便在 WSL 中安装的工具和框架的上下文中运行。换句话说,你的语言扩展将在 WSL 中安装的工具和框架上运行,而不是在 Windows 侧安装的工具和框架上运行,以获得正确的开发体验。

接下来发生的事情是 VS Code 将启动并打开Hello World文件夹。您可能会看到一个快速通知,告知您 VS Code 正在连接到 WSL,并且您可能会被提示允许访问基于 Node.js 的服务器。

安装 vscode 服务器

现在,当你悬停在你好.py, 你将获得正确的Linux路径。

显示 hello.py 在 Linux 中的路径

集成终端

运行 终端 > 新终端 (⌃` (Windows, Linux Ctrl+`)) 打开一个新的终端实例。

WSL中的新终端

你将再次在 Windows 上运行的 VS Code 中,在 WSL 中启动一个新的 bash 壳实例。

提示:在状态栏的左下角,你可以看到你已连接到你的WSL: Ubuntu实例。

WSL 扩展 状态栏

编辑和调试

安装Python扩展(和附加工具)

点击你好.py 打开它进行编辑。您将被提示推荐一个扩展,即Microsoft Python扩展,这将为您提供丰富的编辑和调试体验。请继续选择安装,如果被提示,请重新加载。

Python 扩展推荐

要证明扩展已安装在WSL中,请再次打开扩展视图 (⇧⌘X (Windows, Linux Ctrl+Shift+X))。您将看到一个标题为 WSL: Ubuntu – 已安装的部分,您可以在此处看到在WSL侧安装的任何扩展。

WSL 安装的扩展

重新加载时,系统还会提示您 pylint 代码检查器未安装。Linters 用于显示源代码中的错误和警告。请继续选择安装

pylint未安装通知

现在,当你编辑代码时,你将获得丰富的颜色标记和自动完成。

Python 智能感知

并且当你保存文件 (⌘S (Windows, Linux Ctrl+S))时,你会在文件上看到代码检查错误和警告。

pylint错误

调试

设置好工具后,让我们更进一步。通过点击行号左侧的空白区域或在行号上放置光标并按F9在hello.py的第1行设置一个断点。

设置断点

现在,按F5来运行你的应用程序。你会被问及如何运行应用程序,由于这是一个简单的文件,只需选择Python 文件

选择调试配置

应用程序将启动,并且您会遇到断点。您可以检查变量、创建观察点,并导航调用堆栈。

F10 来单步执行,你将在调试控制台中看到 print 语句的输出。

VS Code 调试视图

您可以在安装在WSL中的Linux实例中使用Visual Studio Code获得完整的开发体验。

如果你想在WSL中打开另一个文件夹,请打开文件菜单并选择打开文件夹。你将获得一个用于Linux文件系统的最小化文件和文件夹导航器,而不是Windows文件系统。

打开文件夹导航器

如果你想切换回Windows,选择显示本地选项,你将得到标准的Windows文件打开对话框。

结束您的WSL连接

你可以在WSL中结束你的会话,并返回本地运行VS Code,通过文件 > 关闭远程连接

恭喜

恭喜你,你已经成功完成这个教程!

接下来,查看其他远程开发扩展。

或者通过安装 远程开发扩展包来获取它们。