Visual Studio 2019将支持Ninja,显著提升Linux项目构建效率

微软更新Visual Studio 2019,添加多个可提升Linux开发体验的功能,包括在Linux上支持构建系统Ninja,以及更完整地支持gdbserver,而且现在开发者也可以使用连接管理器(Connection Manager),编辑和配置默认的远程连接。

使用Visual Studio 2019,可以在远程Linux系统或是WSL上开发C++项目,开发者能选择以构建引擎MSBuild来构建Linux项目,也能通过原生CMake支持进行Linux开发,微软提到,使用CMake可以让开发者以相同源码和构建脚本,构建跨平台程序,而这也是微软推荐的跨平台解决方案。现在微软要进一步改善Linux的开发支持,让Linux的开发工作更加便捷。

Visual Studio现在于Linux支持Ninja,Ninja是一个高性能的构建系统,Ninja一直是针对Windows的CMake配置默认生成器(Generator),不过在最新的Visual Studio 2019版本中,微软在Linux增加对Ninja的支持,微软提到,Ninja通常执行得比Unix Makefile还要快,目前是远程系统和WSL新的CMake配置生成器。

微软使用bullet3以及LLVM两个开源项目,来比较Ninja以及Unix Makefiles的性能,在虚拟机中以Visual Studio完全重新构建这两个项目,Ninja构建bullet3仅需要3分钟,而Unix Makefiles则要11分钟,LLVM的差异就更大了,Ninja只要40分钟,Unix Makefiles却需要花费143分钟。

微软在Visual Studio的第2项Linux开发改进,是强化对gdbserver的支持,gdbserver是可让开发者远程在Linux上调试的程序,在最新的Visual Studio中,微软添加了调试器配置,让开发者在远程系统中,使用gdbserver对CMake项目进行调试,这对目标系统可能没有足够资源执行gdb的嵌入式使用案例特别有用。

另外,微软还改进了连接管理器,连接管理器是在Visual Studio中的好用工具,可让开发者管理和存储远程系统的安全SSH连接,由于开发者的反馈,微软在Visual Studio 2019 16.7版本中,开发者可以在连接管理器中,编辑和配置默认的远程连接,也就是说,现在开发者可在不移除原本连接的情况,编辑已创建的远程连接,Visual Studio不用重新复制远程系统上编译器引用(Include)目录,这些目录会自动复制到Windows上,提供IntelliSense使用。