天天看點

VSC新東西:Makefile工具擴充

官宣

今天,我們非常高興地宣布Visual Studio Code中的一項全新擴充:Makefile工具(預覽版),此工具主要用于在Visual Studio Code內建開發環境中建構和調試Makefile工程。目前,此擴充還處于測試階段,但是,我們内部測試了70多個流行開源的Makefile工程,顯示出此擴充工具可以很好地和它們一起工作。那大家有興趣的話,就試試看呗。

安裝擴充

首先,需要在Visual Studio Code的Marketplace中安裝此Makefile工具擴充,如下圖所示:

VSC新東西:Makefile工具擴充

激活擴充

擴充安裝完成後,當它在工程的根目錄發現有Makefile檔案時會自動激活。如果你的工程的Makefile不在根目錄中,則你可以通過設定Makefile Path參數來指定Makefile的路徑,這樣擴充就可以識别到Makefile檔案了。下圖顯示了在File > Preferences > Settings中設定Makefile Path的界面:

VSC新東西:Makefile工具擴充

當Makefile Path設定完成後,在指令行輸入”makefile”就可以執行MakeFile工具指令并激活擴充。

配置你的工程

在預設情況下,擴充将會提示你使用環境變量$PATH中的make.exe程式來配置工程。如果你的make.exe不在$PATH環境變量中,則可以在File > Preferences > Settings中設定Make Path這一參數。Make Path設定将會告訴擴充從哪裡去尋找需要的make.exe程式,設定Make Path界面如下圖所示:

VSC新東西:Makefile工具擴充

當make.exe的路徑設定完成後,在彈出的提示框中選擇允許Makefile工具來配置IntelliSense,如下圖所示:

VSC新東西:Makefile工具擴充

如果你沒有看到這個提示,或者你點選了錯誤的按鈕,沒關系,你可以在指令行中輸入:C/C++: Change Configuration Provider,然後選擇Makefile Tools。

現在,工程的配置工作已經全部完成了。如果你在指令行下執行不帶任何參數的make指令,那麼擴充将會如預期般的正常工作,不需要做額外的設定工作。

如果你會向make指令中傳遞一些額外的參數,則需要使用Makefile工具的Configurations設定(settings.json配置檔案中的makefile.configurations)來指定這些參數。Makefile.configurations是一個配置參數的數組,每一行都包含傳遞給make的名稱和參數值。為了便于參考,我們在幫助文檔中添加了70多個流行開源工程對應的配置參數值。例如,為了建立開源工程littlekernel的配置,你可以在執行make的傳入“PROJECT=armemu-test”,則你的settings.json将會增加下面的配置項:

VSC新東西:Makefile工具擴充

可以在左側的Explorer菜單中選擇Makefile Tools圖示以為你的工程選擇對應的配置,如下圖所示:

VSC新東西:Makefile工具擴充

點選鉛筆圖示可以選擇對應的配置,如下圖所示:

VSC新東西:Makefile工具擴充

如果你還沒有在makefile.configurations中建立任何配置,則擴充将會為你選擇一個預設的配置。

建構目标

當工程的配置完成之後,你就可以開始進行建構了。點選下圖中的鉛筆圖示可以選擇建構的目标平台,如下圖所示:

VSC新東西:Makefile工具擴充

然後,從工程的Makefile中解析出來的目标平台清單中選擇你需要的一項,如下圖所示:

VSC新東西:Makefile工具擴充

當目标平台選擇完畢之後,可以點選Build圖示,如下圖所示:

VSC新東西:Makefile工具擴充

調試并運作

點選下圖中的鉛筆圖示可以調試或者直接運作建構出來的執行程式。一個為標明目标平台的配置項會被自動加入到

makefile.launchConfigurations配置中。如果你需要傳遞一些額外的參數到執行程式,例如MIMode, miDebuggerPath, stopAtEntry,則可以

makefile.launchConfigurations的目标配置項中添加binaryArgs屬性值,如下圖所示:

VSC新東西:Makefile工具擴充

當運作目标設定好之後,可以選擇下圖中的Debug按鈕進行調試。

VSC新東西:Makefile工具擴充

如果你希望不進行調試,而是直接運作目标,則可以點選下圖中的Run圖示:

VSC新東西:Makefile工具擴充

Makefile Tools支援的指令

通過打開Command Palette并輸入”makefile”,可以檢視擴充支援的所有指令。為了便于使用,我們添加了一些建構清除和建構全部的快捷指令,這樣你就可以直接運作它們,而不需要修改建構目标了,如下圖所示:

VSC新東西:Makefile工具擴充

Makefile Tools設定

可以前往File > Preferences > Settings并在Extensions下選擇makefile,以檢視Makefile Tools是所有設定項。大家可能最為常用的選項如下:

> configurations (在配置工程時,用來訓示擴充應該向make傳入哪些參數)

>

defaultLaunchConfiguration (全局調試器設定)

> launchConfigurations (對于特定建構目标的調試設定)

> makePath (make程式的路徑)

> makefilePath (工程Makefile的路徑)

> buildLog (dry-run的另一種方式)

可能存在的局限性

本次釋出時Makefile Tools擴充的預覽版本,雖然我們測試了70多個流行的開源工程,但是對于你自己的工程,你可能還是得花寫時間來做一些配置工作。如果你成功地完成了配置,歡迎分享給正在為同一個工程配置發愁的人。

總結

最後

繼續閱讀