Visual Studio中的C++更新及WSL2

Visual Studio中的C++更新及WSL2

作者:BlogUpdater |  时间:2021-01-18 |  浏览:683 |  评论已关闭 条评论

WSL2原生支持预告
在2019年,我们的开发团队发布了对Linux(WSL)子系统的C++原生支持。
这里所说的”原生支持”,是指所有的命令都会被本机执行,而不是通过远程SSH来执行。
从那时开始,WSL2就释出了,我们陆续不断地收到了开发者关于在VisualStudio中支持WSL2的请求。

这篇文章的主要目的有以下几个方面:
> 详细介绍我们现有对WSL1和WSL2的支持情况。
> 预告我们关于WSL2原生支持的开发计划。
> 了解开发者社区对WSL1原生支持的使用反馈。

当前对WSL1和WSL2的支持情况
目前,我们对WSL的原生支持可以很好的在WSL1上工作。所有的命令都是通过wsl.exe进行本机执行,这取决于挂在在/mnt文件夹下的Windows驱动,来实现从WSL中访问本机源文件。
这些命令在WSL2上的执行效率会比较慢一些,因为在Windows和Linux之间的文件传输性能会快于在WSL1和WSL2之间。

为了解决这个执行命令缓慢的问题,你可以在你的本机WSL2安装中安装和执行SSH。
你可以在Visual Studio Connection Manager中添加一个新的SSH连接。如果需要了解关于这个主题的更多信息,可以观看我们之前的一些文章。

对WSL2的原生支持
目前,我们正在开发Visual Studio中原生支持WSL2的功能。
这个功能可以让开发者在WSL2上无缝地进行构建和调试,而不需要添加SSH连接,并且可以解决上面说到的命令执行缓慢的问题。

工作原理介绍
在底层实现上,Visual Studio会执行一个本机文件同步,从Windows文件系统上拷贝文件到WSL2的文件系统上。
因为,上面我们说过,在Window和Linux之间的文件传输性能会高于WSL2,所以,我们不能像之前的WSL1上访问挂载的Windows驱动。
本机文件同步,会在Visual Studio检测到你正在使用WSL2时自动进行,使用者不需要做任何操作。
有了这个功能,我们就不再需要建立SSH远程连接,这样就解决了上面说到性能降级问题。同时,这个功能的引入,不会对WSL2继续本机构建和调试产生任何影响。

元芳,你怎么看?
如果你用过Visual Studio对WSL1的原生支持,可以跟我们说说你的一些使用体验,也可以说说你对我们的WSL2的开发计划的看法。

总结
所以,咱们的策略是:先有,然后慢慢优化,最终做到极致。

最后
Microsoft Visual C++团队的博客是我非常喜欢的博客之一,里面有很多关于Visual C++的知识和最新开发进展。大浪淘沙,如果你对Visual C++这门古老的技术还是那么感兴趣,则可以经常去他们那(或者我这)逛逛。
本文来自:《C++ with Visual Studio and WSL2》

标签:

评论已关闭。