使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扩展后,您将在最左侧看到一个新的状态栏项目。
远程状态栏项目可以快速向您显示在哪个上下文中运行VS Code(本地或远程),单击该项目将显示“远程-WSL”命令。
启用WSL #
Linux的Windows子系统(WSL)是Windows 10上的可选功能。您可以通过Windows功能对话框或PowerShell启用它。
Windows功能对话框#
在Windows搜索栏中,键入“功能”以打开和关闭“打开Windows功能”对话框。向下滚动并选中Linux的Windows子系统。
选择确定,系统将提示您重新启动Windows。
PowerShell #
如果愿意,可以以管理员身份打开PowerShell并键入:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
命令运行后,将提示您重新启动Windows。
检查WSL #
重新启动Windows后,可以通过打开命令提示符并键入“ wsl”来检查是否已启用WSL。
WSL已启用,但是您尚未安装Linux发行版。
安装一个Linux发行版#
您可以从Microsoft Store安装用于WSL的Linux发行版。您可以使用商店应用程序,或在Windows搜索栏中搜索Linux发行版。选择要安装的Linux发行版(例如Ubuntu),然后按照提示进行操作。
选择安装。
完成后,选择启动以开始。这将打开Linux终端并完成安装。由于要设置完整的Linux实例,因此需要创建用户ID和密码。您现在正在Windows上运行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上编辑源代码:
该模型的问题在于,Windows上未安装Python运行时,pip或与此相关的任何conda软件包。
请记住,Python已安装在Linux发行版中,这意味着,如果要在Windows端编辑Python文件,除非在Windows上安装相同的Python开发堆栈,否则无法运行或调试它们。这就违背了用所有Python工具和运行时设置隔离的Linux实例的目的!
在WSL运行#
在WSL终端中,确保您位于helloWorld文件夹中,然后键入'code .'
以启动Visual Studio 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的服务器。
现在,当您将鼠标悬停在时hello.py
,您将获得正确的Linux路径。
集成终端#
运行终端>新终端(Ctrl +`)以打开一个新的终端实例。
再次从Windows上运行的VS Code,在WSL中启动bash shell的新实例。
提示:在状态栏的左下角,您可以看到已连接到WSL:Ubuntu实例。
编辑和调试#
安装Python扩展(和其他工具)#
单击打开hello.py
以进行编辑。系统会提示您提供扩展建议,在这种情况下,请安装Microsoft Python扩展,它将为您提供丰富的编辑和调试体验。继续,如果出现提示,请选择“安装并重新加载”。
要证明扩展程序已安装在WSL中,请再次打开“扩展程序”视图(Ctrl + Shift + X)。您将看到标题为WSL:Ubuntu – Installed的部分,并且可以看到WSL端安装的所有扩展。
重新加载后,还会提示您尚未安装pylint linter。短绒用于在源代码中显示错误和警告。继续并选择安装。
现在,当您编辑代码时,您将获得丰富的着色和补全。
并且,当您保存文件(Ctrl + S)时,文件上将出现掉毛错误和警告。
调试#
设置好工具后,让我们进一步迈出这一步。通过单击行号左侧的装订线或将光标置于行上并按F9,在hello.py的第1行上设置断点。
现在,按F5键运行您的应用程序。系统将询问您如何运行该应用程序,并且由于这是一个简单文件,因此只需选择Python File即可。
该应用程序将启动,您将遇到断点。您可以检查变量,创建监视并导航调用堆栈。
按F10键步进,您将在调试控制台中看到print语句的输出。
使用WSL中安装的Linux实例,您可以获得Visual Studio Code的完整开发经验。
如果要在WSL中打开另一个文件夹,请打开“文件”菜单,然后选择“打开文件夹”。您将获得用于Linux文件系统而不是Windows文件系统的最小文件和文件夹导航器。
如果要切换回Windows,请选择“显示本地”选项,您将获得标准的“ Windows文件打开”对话框。
结束你WSL连接#
您可以在WSL中结束会话,然后通过“文件” >“关闭远程连接”返回本地运行VS Code 。
恭喜你!#
恭喜,您已成功完成本教程!
接下来,查看其他远程开发扩展。
或通过安装远程开发扩展包来获得它们 。