使Visual Studio Code在windows下的Linux子系统中工作

本教程将引导您逐步启用Windows Linux子系统(WSL),并使用Remote-WSL扩展在WSL中运行Visual Studio Code 

先决条件

您需要安装Visual Studio Code

安装扩展

Remote-WSL扩展使您可以在Windows子系统(适用于Linux)(WSL)中运行Visual Studio代码。

安装Remote-WSL扩展

远程-WSL扩展

前提条件检查

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

远程状态栏项目

远程状态栏项目可以快速向您显示在哪个上下文中运行VS Code(本地或远程),单击该项目将显示“远程-WSL”命令。

远程-WSL命令

启用WSL 

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

Windows功能对话框

在Windows搜索栏中,键入“功能”以打开和关闭打开Windows功能”对话框。向下滚动并选中Linux的Windows子系统

打开和关闭Windows功能对话框

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

PowerShell 

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

Enable-WindowsOptionalFeature -Online -FeatureName 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,请运行以下命令以将Python3和pip(Python的包管理器)安装到Linux安装中。

sudo apt update
sudo apt install python3 python3-pip

并验证,运行:

python3 --version

从规范的“ Hello World”应用开始。创建一个名为“ helloWorld”的新文件夹,然后添加一个Python文件,该文件将在运行时显示一条消息:

mkdir helloWorld && cd helloWorld
echo 'print("hello from python on ubuntu on windows!")' >> hello.py
python3 hello.py

在远程Linux环境中(从技术上讲,该WSL发行版是另一台没有UI的机器,恰好恰好在您的计算机上本地运行),您的开发工具和经验非常有限。您可以在终端中运行Vim来编辑文件,也可以通过\\wsl$安装在Windows上编辑源代码

\ wsl $挂载

该模型的问题在于,Windows上未安装Python运行时,pip或与此相关的任何conda软件包。

Windows上没有Python

请记住,Python已安装在Linux发行版中,这意味着,如果要在Windows端编辑Python文件,除非在Windows上安装相同的Python开发堆栈,否则无法运行或调试它们。这就违背了用所有Python工具和运行时设置隔离的Linux实例的目的!

在WSL运行

在WSL终端中,确保您位于helloWorld文件夹中,然后键入'code .'以启动Visual Studio Code。'.'参数告诉VS Code打开当前文件夹。

注意:如果此命令不起作用,则可能需要重新启动终端,或者在安装VS Code时未将其添加到路径中。

启动VS Code

您会看到的第一件事是有关“正在安装VS Code Server”的消息(c7d83e57…数字是与您刚安装的客户端工具匹配的VS Code Server的版本)。VS Code正在Linux端安装一台小型服务器,然后桌面VS Code将与之对话。然后,该服务器将在WSL中安装并托管扩展,以便它们在WSL中安装的工具和框架的上下文中运行。换句话说,您的语言扩展将针对WSL中安装的工具和框架运行,而不是针对Windows端安装的工具和框架运行,因为它应该具有适当的开发经验。

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

安装vscode服务器

现在,当您将鼠标悬停在时hello.py,您将获得正确的Linux路径。

显示hello.py Linux路径

集成终端

运行终端>新终端Ctrl +`)以打开一个新的终端实例。

WSL的新码头

再次从Windows上运行的VS Code,在WSL中启动bash shell的新实例。

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

遥控器-WSL状态栏

编辑和调试

安装Python扩展(和其他工具)

单击打开hello.py以进行编辑。系统会提示您提供扩展建议,在这种情况下,请安装Microsoft Python扩展,它将为您提供丰富的编辑和调试体验。继续,如果出现提示,请选择“安装并重新加载”。

Python扩展推荐

要证明扩展程序已安装在WSL中,请再次打开“扩展程序”视图(Ctrl + Shift + X)。您将看到标题为WSL:Ubuntu – Installed的部分,并且可以看到WSL端安装的所有扩展。

WSL安装的扩展

重新加载后,还会提示您尚未安装pylint linter。短绒用于在源代码中显示错误和警告。继续并选择安装

没有安装pylint通知

现在,当您编辑代码时,您将获得丰富的着色和补全。

Python智能感知

并且,当您保存文件(Ctrl + S)时,文件上将出现掉毛错误和警告。

pylint错误

调试

设置好工具后,让我们进一步迈出这一步。通过单击行号左侧的装订线或将光标置于行上并按F9,在hello.py的第1行上设置断点

设定断点

现在,按F5键运行您的应用程序。系统将询问您如何运行该应用程序,并且由于这是一个简单文件,因此只需选择Python File即可

选择调试配置

该应用程序将启动,您将遇到断点。您可以检查变量,创建监视并导航调用堆栈。

F10键步进,您将在调试控制台中看到print语句的输出。

VS Code调试视图

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

如果要在WSL中打开另一个文件夹,请打开“文件”菜单,然后选择“打开文件夹”您将获得用于Linux文件系统而不是Windows文件系统的最小文件和文件夹导航器。

打开文件夹导航器

如果要切换回Windows,请选择“显示本地”选项,您将获得标准的“ Windows文件打开”对话框。

结束你WSL连接

您可以在WSL中结束会话,然后通过“文件” >“关闭远程连接”返回本地运行VS Code 

恭喜你!

恭喜,您已成功完成本教程!

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

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

posted @ 2020-12-27 00:52  tianyamoon  阅读(2741)  评论(0编辑  收藏  举报