(此文章同時發表在本人微信公眾號“dotNET每日精華文章”,歡迎右邊二維碼來關注。)
題記:Refactoring Essentials是一款用於代碼分析和重構的開源免費VS2015插件,其功能豐富強大,必然會成為類似Web Essentials這樣的必備插件。
之前由SharpDevelop團隊開發且用於SharpDevelop這個開源IDE中的重構插件“NR6Pack”改名為“Refactoring Essentials”,被Hanselman稱之為對“Web Essentials”的一種致意(通過“閱讀原文”來查看Hanselman的介紹文章),而我認為這個插件也會如“Web Essentials”那樣成為Visual Studio 2015上的必備插件之一。
因為它具有如下重構功能(http://vsrefactoringessentials.com/Features/Refactorings-CSharp):
- 提示你添加字典中的鍵是否存在的代碼
- 提示你有計算常量的數學表達式存在
- 提示你把枚舉位比較轉換為使用Enum.HasFlag方法
- 提示你把數據類型的直接轉換改為安全轉換(使用as關鍵字)
- 提示你把While循環改為DoWhile循環
- 從基類中負責注釋
- 創建ChangedEvent
- 把Switch轉換為If
同時也帶來如下代碼分析功能(http://vsrefactoringessentials.com/Features/Refactorings-CSharp):
- 使用數組初始化器代替數組創建代碼
- 把閉包轉換為方法組
- 把條件三元操作符轉換為空值連接符
- 把If判斷轉換為Or表達式
- 提供nameof關鍵字的使用建議
- 檢查文本無法解析的情況
- 簡化條件三元操作表達式
上面的重構功能和分析功能只是部分例舉,其實這個插件一共提供了71項重構功能和73項分析功能。另外,“Refactoring Essentials”之所以有這么多的功能,完全得益於Roslyn強大代碼分析的基礎功能。