• 使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 

    恭喜你!

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

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

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

  • 相关阅读:
    ACM 01背包问题
    HDU 1222(数论,最大公约数)
    HDU 1045(质因数分解)
    HDU 4548(美素数)
    POJ 1458 Common Subsequence
    light oj 1047-neighbor house
    POJ 3903 Stock Exchange
    HDU 1069 monkey an banana DP LIS
    max sum
    ACM比赛
  • 原文地址:https://www.cnblogs.com/tianyamoon/p/14195169.html
Copyright © 2020-2023  润新知