接下來的幾天呢,大智作為探路者帶你一塊探索一下Unity2020.1裡面有什麼好玩的東西。
這一次咱們來看看腳本編程方面的更新。主要包含以下幾個方面:
- 代碼默認將是Release模式,提高編輯器性能
- 支持泛型類型序列化
- Code Coverage代碼覆蓋率(Preview)
- 各個IDE集成支持移到了packages中
代碼默認將是Release模式,提高編輯器性能
從Unity2020.1開始,Unity編輯器代碼的編譯模式默認是Release模式,可以提高性能,但是無法連接調試器(debugger),最主要是沒辦法斷點調試。
那如何設置可以連接調試器,斷點調試呢?
可以在Unity窗口的右下角進行切換到Debug模式,如下圖:

切換到Debug模式後就可以連接調試器,進行斷點調試了。
支持泛型類型序列化
之前,如果你想要一個泛型類型作為SerializeField,你需要定義一個非泛型的子類。

Unity2020.1移除了這個限制,你可以直接使用泛型類型作為SerializeField。

那泛型類型在Inspector上會如何顯示呢?
答案是:會根據具體泛型類型顯示在Inspector上。
如上面的代碼中泛型實例類型是string,Inspector上也會顯示string的輸入框。

Code Coverage代碼覆蓋率(Preview)
Code Coverage這個預覽包,可以在運行Test Runner的時候自動幫你統計代碼覆蓋率。
在Unity2020之後,啟用預覽包移到了菜單欄Edit > Project Settings > Package Manager中的Enable Preview Packages。如下圖:

之後就可以在Package Manager中安裝這個包了。

安裝好以後可以在菜單欄Window > Generic > Code Coverage打開。

接著需要在Edit > Preferences > General中勾選Enable Code Coverage。啟用後編輯器的開銷會增加、性能會稍有降低,建議在不使用時禁用功能。勾選後包便能訪問Mono暴露的覆蓋數據的介面。接著,需要重啟Unity。
單次測試完成時,包會生成一份HTML報告,其中展示了總代碼行覆蓋率和每個類單獨的覆蓋情況。

HTML報告中最為重要的數值是覆蓋行數,表示了測試中所覆蓋的代碼量。比如,數值為75%表明有四分之一的代碼行沒有測試到。數值在計算時會考慮到哪些代碼行可以被測試到。
Coverage History中的圖表(截圖中的紅線)表明了每次項目測試時的覆蓋率,覆蓋率越高越好。如果有所下跌,可以編寫更多的測試用例來提升覆蓋率。
Code Coverage目前支持EditMode(編輯模式)和PlayMode(運行模式)測試,可以跟蹤長期的覆蓋量,可與Test Runner一同使用。如果沒有任何測試用例,也可以使用Coverage Recording(覆蓋記錄)功能記錄覆蓋數據。
如果你想更深入了解Code Coverage這個包,可以在Package Manager中導入Samples,裡面有示例和教程文檔,安裝入口如下圖所示:

image.png
各個IDE集成支持移到了packages中
目前官方支持3個IDE,Visual Studio、Visual Studio Code和Rider。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/216537.html