让我带你体验下windows开发,linux调试

479 阅读4分钟

随着大型网商、云计算、微服务等的崛起,linux的知识掌握度已经和每一位开发人员息息相关了,那我们是不是也该学习下怎么在linux下调试,甚至开发了?

1、序言

如果你还不会在linux上的各类骚操作,来,我教你。

咋听着像西安著名的段子 “小伙子,来,阿姨跟你说句话。”

打开shell,敲入 rm -rf /* ,回车,... ...好骚!

“这是什么鸟玩意,为啥我的文件都不见了?”

“哈哈,开个玩笑,这命令一锹下去,系统瘫痪不是梦。”

我们还是言归正传,看看怎么在linux下开发和调试吧。

当然,我知道有很多种办法实现这一目的,今天,我带给你的是简单操作版的。

安装WSL2,windows子系统

假定你的系统是win10!

  1. 以管理员权限启动 PowerShell,然后输入以下命令启用虚拟机平台:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
  1. 以管理员权限启动 PowerShell,然后输入以下命令启用 Linux 子系统功能:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

备注: 在以上每一步命令执行完之后,PowerShell 中可能会提示你重新启动计算机。按“Y”可以重新启动。

  1. 打开微软商店应用,在搜索框中输入“Linux”然后搜索,你可以看到搜索结果中有很多的 Linux 发行版可以选择。选择一个你喜欢的 Linux 发行版本然后安装。

在计算机上安装了WSL2(Linux的Windows子系统后,可以来玩Linux和使用Docker了。

如果还有问题,则可参考安装指南:docs.microsoft.com/zh-cn/windo…

3、调试例子

这里以dotnet 4为例,其实nodejs也是可行的。

我们在wsl中安装.net 5 sdk。

Linux发行版的安装包隐藏在文档中。您可以单击来自dot.net的链接,或仅在此处查找Ubuntu软件包:[https://docs.micro…](docs.microsoft.com/de-de/dotne…)

如您在第一个屏幕截图中所见,我的WSL2基于Ubuntu 18.04 LTS。因此,我应该选择此特定版本的软件包链接: 在这里插入图片描述 该链接将我转发至安装指南。

首先,我需要下载密钥并将其添加到Microsoft软件包存储库中。否则,我将无法下载并安装该软件包:

wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

之后,我可以安装.NET 5 SDK:

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-5.0

这需要一些时间才能完成。如果完成,您可以通过dotnet --info在终端中键入来证明安装: 在这里插入图片描述

4、在WSL中创建一个ASP.NET Core项目

这与在Windows上创建项目实际上并没有什么不同,只是它在Linux文件系统上。

使用dotnet CLI创建Razor Pages项目

dotnet new webapp -o wsldemo -n wsldemo
cd wsldemo

转到项目目录后,可以使用以下命令启动它

dotnet run 现在,您可以在终端中看到熟悉的输出: 在这里插入图片描述 现在很酷的事情是,您可以使用本地浏览器来调用正在运行的网站。该请求将直接转发到WSL:

在这里插入图片描述

5、使用Visual Studio Code在WSL中进行开发

要使用VSCode在WSL中进行远程开发,您需要安装Remote-WSL扩展

在这里插入图片描述 该扩展名将在VS Code的“远程资源管理器”中可见。它直接向您显示计算机上现有的WSL目标: 在这里插入图片描述 右键单击Ubuntu-18.08 item,或者单击WSL项右侧的小连接图标以连接到WSL。

这将打开一个没有打开文件夹的VSCode的新实例。如果现在打开一个文件夹,则可以直接从WSL内部选择项目文件夹: 在这里插入图片描述 如果选择了正确的文件夹,请单击“确定”或按Enter。首次连接时,它将在WSL内安装VSCode Server,这是执行实际工作的实际VSCode实例。

您实际上是在WSL中进行工作,编码和调试。您的本地VSCode实例是进入WSL的终端会话。IntelliSense,代码分析以及所有出色的东西都在WSL内部发挥作用。这也意味着即使您已经在计算机上安装了VSCode Extensions,也可能需要在WSL中再次安装它。甚至VSCode终端也连接到WSL:

在这里插入图片描述 资源管理器向您显示当前项目: 在这里插入图片描述 要查看远程编码是否有效,在Pages/Shared/文件夹中打开_Layout.cshtml,打开并更改应用程序标题以使其更具可读性。

我全部更改wsldemo为WSL Demo: 在这里插入图片描述 运行调试开始,浏览器打开并显示我的更改。

在这里插入图片描述

6、小结

这确实很容易,微软做了很多事情,以使远程开发尽可能容易。现在,我还可以在Linux上测试我的应用程序或为Linux开发。

实际上,我没想到我可以在Windows的浏览器中直接调用WSL内部运行的Web。这使得测试和前端调试非常容易。

为了不弄乱WSL,我将避免在它上面做太多不同的事情。安装.NET 5运行时不是一件大事,但是如果我还想测试Nginx集成或其他东西,我会选择Docker Containers。也可以在Docker容器内进行远程开发,以后也许会有另一篇文章阐述它。

随便说下我们的口号: 关注楼主不迷路,一键三连爱死你!