Unity2020.1新功能探路:腳本開發相關更新

洪流學堂,讓你快人幾步。你好,我是你的技術探路者鄭洪智,你可以叫我大智。

接下來的幾天呢,大智作爲探路者帶你一塊探索一下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。

擴展閱讀

Unity2020.1新功能探路:編輯器相關更新

【擴展學習】洪流學堂公衆號回覆2020.1可以閱讀本系列所有文章,還有不定時的直播通知哦!


呼~ 沒講清楚的地方歡迎評論,咱們一起探索。

我是大智(微信:zhz11235),你的技術探路者,下次見!

別走!點贊收藏哦!

好,你可以走了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章