最新的Visual Studio 2019版本,加入了兩個強化Linux開發的改進,第一個是能提升MSBuild專案建置速度的漸增建置功能,另外則是Visual Studio現可支援更多種的Linux發行版以及殼層。

微軟讓開發人員可以只利用Visual Studio 2019,以C++開發Windows和Linux的應用程式,而微軟提到,他們提供了兩個方法,讓C++開發人員可以從Visual Studio建置Linux應用程式,第一個是微軟推薦的方法,開發者可以使用Visual Studio原生支援的CMake進行建置,這個方法可以讓開發者對多個平臺,使用相同的原始碼以及建置腳本,第二個則是開發者使用自己熟悉的方法,創建基於MSBuild的Linux專案。

而微軟在最新的Visual Studio 2019版本,改進了基於MSBuild的Linux專案建置功能,開發者現在可以利用高效能建置系統Ninja,在基於MSBuild的Linux專案,進行更快速地增量建置,要使用這項功能,使用者需要在屬性頁面手動啟用增量建置以及Ninja選項。

微軟以基於MSBuild的Linux專案來測試Ninja的建置效能,測試專案包含了1000個.h檔案和1000個.cpp檔案,使用Ninja的漸增建置,完全重建的時間只要約8分鐘,未使用增量建置則要13分鐘,而檔案僅有一處更改的建置時間,應用漸增建置只要32秒,沒有漸增建置需耗時5分26秒。實驗證明,無論是整個專案重新建置,或是部分更改,使用Ninja漸增建置都能大幅減少建置時間。

微軟擴展Visual Studio 2019對各種Linux發行版和Shell的支援,這更新適用針對遠端Linux系統或是WSL的CMake專案,以及基於MSBuild的Linux專案。另外,現在Visual Studio第一次發出命令查詢殼層,當重新導向stderr(Standard Error)時,便會決定格式化命令列的方式,Visual Studio現在支援sh、csh、bash、tcsh、ksh、 zsh和dash殼層,當Linux系統不支援特定殼層,Visual Studio會自動回退使用sh。

微軟驗證了Visual Studio在各種Linux發行版支援的殼層,對CMake和基於MSBuild的Linux專案,測試專案創建、遠端標頭同步、建置與除錯等功能,通過驗證的Linux版本和殼層組合,包括FreeBSD支援csh、fish、zsh和bash,Ubuntu 18.04則支援fish、bash、csh和zsh,但WSL的Ubuntu只有bash,而Debian(WSL)僅有dash。


Advertisement

更多 iThome相關內容