翻譯|產(chǎn)品更新|編輯:顏馨|2023-05-12 15:33:04.717|閱讀 196 次
概述:VS代碼生成工具ReSharper v2023.1.1全新發(fā)布,此版本改進(jìn)了對 C# 的支持,添加了一組檢查來優(yōu)化和加快處理不同類型集合的工作,歡迎下載最新版體驗(yàn)!
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
實(shí)質(zhì)上,ReSharper特征可用于C#,VB.net,XML,Asp.net,XAML,和構(gòu)建腳本。 使用ReSharper,你可以進(jìn)行深度代碼分析,智能代碼協(xié)助,實(shí)時(shí)錯(cuò)誤代碼高亮顯示,解決方案范圍內(nèi)代碼分析,快速代碼更正,一步完成代碼格式化和清理,業(yè)界領(lǐng)先的自動(dòng)代碼重構(gòu),高級的集成單元測試方案,和強(qiáng)大的解決方案內(nèi)導(dǎo)航和搜索。
Jetbrains技術(shù)交流群(QQ):786598704 歡迎一起進(jìn)群討論
更新日志如下:
ReSharper 2023.1 改進(jìn)了對 C# 的支持,添加了一組檢查來優(yōu)化和加快處理不同類型集合的工作,以及在代碼中引入 null 檢查的多項(xiàng)可調(diào)整方法。 這個(gè)版本還帶來了針對 C++20 模塊的更新、第一批對 C++23 功能的支持,以及 C++ 的宏替換預(yù)覽和 Call Tracking(調(diào)用跟蹤)。 另外還包括對單元測試和代碼清理用戶體驗(yàn)的增強(qiáng)。
減少集合中的查找次數(shù)
我們引入了一組檢查和相應(yīng)的快速修復(fù),通過減少集合中的查找次數(shù)來優(yōu)化和加快處理不同類型集合的工作:
我們提供了新的 Syntax style(語法樣式)設(shè)置,幫助您在模式中實(shí)施一致的 not null 檢查樣式。 它由兩個(gè)選項(xiàng)組成:空遞歸模式語法 { } 和否定模式 not null,后者為默認(rèn)模式。 您隨時(shí)可以在 ReSharper | Options | Code Editing | C# | Syntax Style(ReSharper | 選項(xiàng) | 代碼編輯 | C# | 語法樣式)頁面上調(diào)整行為。
使用 not null 模式有一個(gè)缺點(diǎn),它不允許像遞歸模式 { LastName: { } lastName } 那樣為檢查值引入變量名。 我們在 not null 模式上添加了 Add pattern variable(添加模式變量)上下文操作,查找訪問相同值的表達(dá)式(因?yàn)槲覀円胍粋€(gè)變量名),并將所有表達(dá)式替換為新引入的名稱,整合對相同值的所有訪問。
.NET 6.0 SDK 為 null 檢查引入了新的 API – ArgumentNullException.ThrowIfNull。 我們的代碼分析引擎從那時(shí)起就可以識別這種檢查方式,但沒有選項(xiàng)將此 API 用作 ReSharper 生成的 null 檢查的默認(rèn)樣式。 在 2023.1 版本中,我們向 ReSharper | Options | Code Editing | C# | Null checking(ReSharper | 選項(xiàng) | 代碼編輯 | C# | Null 檢查)添加了 ArgumentNullException.ThrowIfNull 模式。
如果您大量使用屬性模式匹配,請嘗試我們的新檢查和快速修復(fù),當(dāng)多個(gè)屬性模式在代碼流中一起出現(xiàn)時(shí)提取通用元素。 Extract common property pattern(提取通用屬性模式)快速修復(fù)生成的代碼可以將通用屬性模式移動(dòng)到更高級別的模式,幫助您減少代碼重復(fù)。
C# 開發(fā)者通常依賴 #region 指令和 IDE 中的代碼折疊來組織代碼。 重構(gòu)可能會留下一些空 #region,這會使代碼在收起時(shí)看起來具有誤導(dǎo)性。 借助這項(xiàng)新的代碼檢查,您將能夠識別折疊狀態(tài)的空 #region,并使用相應(yīng)的快速修復(fù)清理代碼。
代碼分析有一項(xiàng)代碼檢查,該檢查會建議將 span.SequenceEqual("stringLiteral") 替換為 span is "stringLiteral" – 這是比調(diào)用函數(shù)更清晰、更方便的 C# 語法解決方案。
C# 中的 lambda 表達(dá)式可以具有隱式類型形參和推斷的返回值類型。 不過,添加顯式類型可以闡明復(fù)雜重載解析場景中的代碼。 從 C# 11 開始,還可以為 lambda 表達(dá)式添加返回值類型規(guī)范。 為此,我們在 ReSharper 2023.1 中引入了 Insert return type specification(插入返回值類型規(guī)范)上下文操作。 該操作可以應(yīng)用于所有作用域,包括方法、類、文件、項(xiàng)目或整個(gè)解決方案。
C# or/and/not 模式適合緊湊值檢查,但可能不如傳統(tǒng)表達(dá)式(例如 ||/&&/!)容易識別。 如果遺漏圓括號,它們還可能產(chǎn)生難以發(fā)現(xiàn)的錯(cuò)誤。 為了幫助解決這個(gè)問題,我們在 2023.1 版本中引入了新代碼分析,可以就復(fù)雜模式中的“死”檢查向您發(fā)出警告。
我們繼續(xù)改進(jìn)對 C# 11 列表模式的支持。 借助新增的 Convert to list pattern(轉(zhuǎn)換為列表模式)上下文操作,您可以將集合長度檢查轉(zhuǎn)換為列表模式語法。 它適用于所有可以檢查集合長度的上下文。
在宏上懸停鼠標(biāo)時(shí),您現(xiàn)在可以在工具提示中看到宏擴(kuò)展,帶有完整的語法高亮顯示和正確的代碼格式設(shè)置。 您仍然可以使用 Substitute macro call(替換宏調(diào)用)上下文操作直接在代碼中查看宏展開,但即時(shí)預(yù)覽使宏操作更簡單。 此外,在 Quick Documentation(快速文檔)彈出窗口 (Ctrl+Shift+F1) 中,您可以點(diǎn)擊替換預(yù)覽中的實(shí)體并查看其文檔。
Call tracking(調(diào)用跟蹤)已登陸 ReSharper C++! 您現(xiàn)在可以在傳入調(diào)用層次結(jié)構(gòu)中查看和瀏覽調(diào)用鏈。 在調(diào)用跟蹤結(jié)果窗口中,您可以雙擊層次結(jié)構(gòu)條目來導(dǎo)航到編輯器中的相應(yīng)調(diào)用,或者展開節(jié)點(diǎn)以檢查其傳入調(diào)用。
ReSharper 2023.1 引入了重做的更新對話框,其中包含最新版本的更改說明,讓您可以更好地決定下載還是跳過更新。
從 2023.1 版本開始,首次啟動(dòng) ReSharper 時(shí),您將看到 Keyboard Shortcuts(鍵盤快捷鍵)屏幕,可以在其中選擇想要使用的快捷鍵方案。
Reformat inactive preprocessor branches in file(重新格式化文件中停用的預(yù)處理程序分支)是我們在 ReSharper 2023.1 中引入的新任務(wù)類型。 這項(xiàng)任務(wù)使您能夠重新格式化停用的預(yù)處理程序分支。 它一次只能應(yīng)用于整個(gè)文件,并且僅適用于 C# 源。
這項(xiàng)任務(wù)無法重新格式化隱藏在始終為 false 的預(yù)處理程序指令 #if 后的代碼。 這種限制的兩個(gè)最明顯示例是 #if false ... #endif 和 #define A #if !A ... #endif 構(gòu)造。
現(xiàn)在,使用工具欄中的 Run(運(yùn)行)按鈕運(yùn)行測試時(shí),也將考慮在 Session(會話)和 Explorer(資源管理器)工具窗口內(nèi)應(yīng)用于單元測試樹的文本搜索篩選器。 只有滿足搜索條件的節(jié)點(diǎn)才會在列表中保留并運(yùn)行。
我們改進(jìn)了 ReSharper 處理項(xiàng)目中文件重命名的方式。 從這個(gè)版本開始,重命名解決方案中的文件時(shí),會出現(xiàn)一個(gè)對話框,其中包含重命名所有相關(guān)符號(類、接口等)以匹配更改的選項(xiàng)。
獨(dú)立版本的 dotTrace 現(xiàn)已登陸 Linux 和 macOS。 現(xiàn)在,您可以在這些操作系統(tǒng)上執(zhí)行完整的分析工作流,包括收集和分析性能快照。
現(xiàn)在,只要引用的 API 保持有效且不變,ReSharper 插件就會自動(dòng)從一個(gè)版本遷移到下一個(gè)版本。
內(nèi)置 API 驗(yàn)證器將檢查安裝的插件的二進(jìn)制兼容性并遷移可行的插件。 如果插件使用的 API 不再出現(xiàn)在 SDK 中,插件作者也會從 JetBrains Marketplace 收到自動(dòng)通知。
由于 ReSharper 中對 CSS 需求的很少,我們越發(fā)難以優(yōu)先跟上這門語言的最新版本。 因此,我們決定暫停對 CSS 的支持,直到我們找到更好的方式來支持這門語言。
從 ReSharper 2023.1 開始,CSS 支持將默認(rèn)禁用。 如果您仍想使用該語言,可以在此處重新啟用:ReSharper | Options | Environment | Products & Features | the "CSS" checkbox(ReSharper | 選項(xiàng) | 環(huán)境 | 產(chǎn)品和功能 |“CSS”復(fù)選框)。
ReSharper 和 .NET 工具目前支持 7 個(gè)主要版本的 Visual Studio,從 2010 到最新的 2022。 從 2023.1 開始,我們將放棄對兩個(gè)最舊版本 Visual Studio 2010 和 Visual Studio 2012 的支持。
更多產(chǎn)品更新內(nèi)容請咨詢“”~
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn