在前几个Visual Studio Code更新中发现有一个重要得特性,就是nodejs可使用VS Code在WSL中进行Debug了(WSL是指Win10中的Linux子系统),以前写过一篇文章是使用SSH对Linux环境进行Debug,此时的想法就是若是能够在WSL中直接对程序进行调试的话,那么对于开发人员这项功能将是在Windows中最好链接Linux环境的开发环境了,并且因为Windows子系统的“原理”,全部子系统中的进程将与系统进程运行在物理主机上,因此能够判定调试的“速度”也是很是快速的。node
要想在Visual Studio Code中调试.NET Core程序,并运行在Windows Subsystem for linux(WSL)中,须要一些先决条件,这些条件包括:linux
之因此要更新Windows系统到最新的创新者版本,主要是由于以前版本的Windows不能安装Ubuntu子系统的最新版本。以前的版本为14.04,要想使用新的特性,咱们要将Ubuntu子系统升级到16.04版本。git
接下来咱们先使用bash命令,肯定一下Windows上安装的Ubuntu子系统的版本:github
~$ cat /etc/os-release | grep -i version VERSION="16.04.2 LTS (Xenial Xerus)" VERSION_ID="16.04" VERSION_CODENAME=xenial
可是若是已经安装过WSL后再升级Windows,那样Ubuntu子秕的版本还会是14.04,因此须要从新安装一下Ubuntu子系统,命令以下:json
lxrun /uninstall /full lxrun /install
若是你已是最新版本的创新者的Windows,此时Ubuntu子系统的版本也将升级到16.04。ubuntu
只须要到https://www.microsoft.com/net/core#linuxubuntu上找到,对应16.04版本安装方式,就能够顺利的安装了,与Ubuntu系统的真机安装体验一致。bash
先要将调试器下载到子系统中运行bash,再运行以下命令:app
sudo apt-get install unzip curl -sSL https://aka.ms/getvsdbgsh | bash /dev/stdin -v latest -l ~/vsdbg
下载过程可能会很慢长,主要取决因而否FQ。下载后的文件会在当前目录的~/vsdbg/vsdbg。个人下载目录为:/home/maxzhang/vsdbg/vsdbgcurl
添加调试启动的配置:学习
{ "name": ".NET Core WSL Launch", "type": "coreclr", "request": "launch", "preLaunchTask": "build", "program": "/mnt/f/dotnetcoreapps/DebugOnWSL/DebugOnWSL/bin/Debug/netcoreapp2.0/DebugOnWSL.dll", "args": [], "cwd": "/mnt/f/dotnetcoreapps/DebugOnWSL/DebugOnWSL", "stopAtEntry": false, "console": "internalConsole", "pipeTransport": { "pipeCwd": "", "pipeProgram": "C:\\Windows\\System32\\bash.exe", "pipeArgs": [ "-c" ], "debuggerPath": "/home/maxzhang/vsdbg/vsdbg" } }
具体路径须要按本身的须要进行修改,而后就能够按F5进行调试了。期待VS中也能拥有这样的开发体验。
GitHub:https://github.com/maxzhang1985/YOYOFx 若是觉还能够请Star下, 欢迎一块儿交流。
.NET Core 开源学习群:214741894