洪流學(xué)堂含末,讓你快人幾步。你好即舌,我是你的技術(shù)探路者鄭洪智佣盒,你可以叫我大智。
接下來的幾天呢顽聂,大智作為探路者帶你一塊探索一下Unity2020.1里面有什么好玩的東西肥惭。
這一次咱們來看看腳本編程方面的更新。主要包含以下幾個(gè)方面:
- 代碼默認(rèn)將是Release模式紊搪,提高編輯器性能
- 支持泛型類型序列化
- Code Coverage代碼覆蓋率(Preview)
- 各個(gè)IDE集成支持移到了packages中
代碼默認(rèn)將是Release模式蜜葱,提高編輯器性能
從Unity2020.1開始,Unity編輯器代碼的編譯模式默認(rèn)是Release模式耀石,可以提高性能牵囤,但是無法連接調(diào)試器(debugger),最主要是沒辦法斷點(diǎn)調(diào)試。
那如何設(shè)置可以連接調(diào)試器揭鳞,斷點(diǎn)調(diào)試呢?
可以在Unity窗口的右下角進(jìn)行切換到Debug模式炕贵,如下圖:
切換到Debug模式后就可以連接調(diào)試器,進(jìn)行斷點(diǎn)調(diào)試了野崇。
支持泛型類型序列化
之前称开,如果你想要一個(gè)泛型類型作為SerializeField,你需要定義一個(gè)非泛型的子類乓梨。
Unity2020.1移除了這個(gè)限制谢谦,你可以直接使用泛型類型作為SerializeField蘸劈。
那泛型類型在Inspector上會(huì)如何顯示呢?
答案是:會(huì)根據(jù)具體泛型類型顯示在Inspector上乱陡。
如上面的代碼中泛型實(shí)例類型是string涡驮,Inspector上也會(huì)顯示string的輸入框京闰。
Code Coverage代碼覆蓋率(Preview)
Code Coverage這個(gè)預(yù)覽包筹麸,可以在運(yùn)行Test Runner的時(shí)候自動(dòng)幫你統(tǒng)計(jì)代碼覆蓋率夭坪。
在Unity2020之后,啟用預(yù)覽包移到了菜單欄Edit > Project Settings > Package Manager中的Enable Preview Packages胧谈。如下圖:
之后就可以在Package Manager中安裝這個(gè)包了。
安裝好以后可以在菜單欄Window > Generic > Code Coverage打開荸频。
接著需要在Edit > Preferences > General中勾選Enable Code Coverage菱肖。啟用后編輯器的開銷會(huì)增加、性能會(huì)稍有降低旭从,建議在不使用時(shí)禁用功能稳强。勾選后包便能訪問Mono暴露的覆蓋數(shù)據(jù)的接口。接著和悦,需要重啟Unity退疫。
單次測試完成時(shí),包會(huì)生成一份HTML報(bào)告鸽素,其中展示了總代碼行覆蓋率和每個(gè)類單獨(dú)的覆蓋情況褒繁。
HTML報(bào)告中最為重要的數(shù)值是覆蓋行數(shù),表示了測試中所覆蓋的代碼量馍忽。比如棒坏,數(shù)值為75%表明有四分之一的代碼行沒有測試到。數(shù)值在計(jì)算時(shí)會(huì)考慮到哪些代碼行可以被測試到遭笋。
Coverage History中的圖表(截圖中的紅線)表明了每次項(xiàng)目測試時(shí)的覆蓋率坝冕,覆蓋率越高越好。如果有所下跌瓦呼,可以編寫更多的測試用例來提升覆蓋率喂窟。
Code Coverage目前支持EditMode(編輯模式)和PlayMode(運(yùn)行模式)測試,可以跟蹤長期的覆蓋量,可與Test Runner一同使用磨澡。如果沒有任何測試用例碗啄,也可以使用Coverage Recording(覆蓋記錄)功能記錄覆蓋數(shù)據(jù)。
如果你想跟深入了解Code Coverage這個(gè)包钱贯,可以在Package Manager中導(dǎo)入Samples挫掏,里面有示例和教程文檔,安裝入口如下圖所示:
各個(gè)IDE集成支持移到了packages中
目前官方支持3個(gè)IDE秩命,Visual Studio尉共、Visual Studio Code和Rider。
擴(kuò)展閱讀
Unity2020.1新功能探路:編輯器相關(guān)更新
【擴(kuò)展學(xué)習(xí)】在洪流學(xué)堂公眾號(hào)回復(fù)
2020.1
可以閱讀本系列所有文章弃锐,還有不定時(shí)的直播通知哦袄友!
呼~ 沒講清楚的地方歡迎評(píng)論,咱們一起探索霹菊。
我是大智(微信:zhz11235)剧蚣,你的技術(shù)探路者,下次見旋廷!
別走鸠按!點(diǎn)贊,收藏哦饶碘!
好目尖,你可以走了。