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