我們談一談 Resharper

一、ReSharper介紹

是一個JetBrains公司出品的著名的代碼生成工具。其能幫助Microsoft Visual Studio成爲一個更佳的IDE,它包括一系列豐富的能大大增加C#和Visual Basic .net開發者生產力的特徵。使用ReSharper,你可以進行深度代碼分析,智能代碼協助,實時錯誤代碼高亮顯示,解決方案範圍內代碼分析,快速代碼更正,一步完成代碼格式化和清理,業界領先的自動代碼重構,高級的集成單元測試方案,和強大的解決方案內導航和搜索。實質上,ReSharper特徵可用於C#,VB.NET,XML,ASP.NET,XAML,和構建腳本。ReSharper還爲C#和VB.NET提供了增強的交叉語言功能,它使開發者可以有效的控制.net混合項目。

Resharper能帶給你的效率提升如此之高,以至於在我訂閱的所有.net專家的blog裏面,所有的人都在關注它。當我三個月前開始使用Resharper時,想要搜到一些中文的介紹,或者是經驗性的文章卻十分困難。大多數人 似乎不關心它的存在。博客園裏充斥着因爲安裝Resharper而拖慢系統,導致VS不穩定,機器響應速度下降,VS啓動速度下降等等的論調。幸運的是, 這些在我這裏都沒有遇到,也許是因爲2G的內存的緣故,反正devenv.exe所佔的200~300m內存並沒有使我感覺機器在變慢,而且我的VS幾乎 是一直運行中,沒有一會關閉一會打開的時候,所以我只需要忍受Resharper在加載時的半分鐘初始化一次就夠了。相比於它能帶給你的效率提升,這些問題都是微不足道的。

二、ReSharper入門

代碼分析

ReSharper可提供對C#, XAML, XML, ASP.NET和ASP.NET MVC的持續的代碼質量分析,甚至在用戶對之進行編譯以前即可檢測到錯誤和問題。ReSharper可對用戶的代碼提供900多種代碼檢驗,用戶便可即刻 察覺到其當前文件或者甚至整個解決方案中是否包含了錯誤和故障。

高亮顯示錯誤和快速更正

ReSharper能在用戶輸入的時候即對代碼進行分析,並高亮顯示錯誤,用戶甚至無需進行編譯。其甚至能對大部分錯誤快速給出修改建議,以幫助用戶快速解決問題。

先進的代碼協助

ReSharper充分的考慮到了編碼的各個方面,以幫助用戶提高效率和節省時間。 其不但對Visual Studio的諸如代碼編譯之類的原生功能進行了擴展和改進,還可以使得用戶通過使用大量的代碼模板快速生成代碼,在編輯器中查看類型和他們的成員的文 檔,使用稱爲“上下文動作”(context actions)執行代碼轉換,還有其他更多的。

衆多的代碼重構

與Visual Studio 2005/2008/2010相比,ReSharper提供了更豐富的自動代碼重構功能。用戶可使用許多不同的重構方法以進行重命名,移動,安全刪除標識;導入和內聯字段、變量和參數等等。

導航和搜索

無論什麼時候你需要查找某個類型,字段,方法,或任何其他的標 識,ReSharper提供了多種實現方法,可以通過名稱查找一個標識,在代碼從引用位置導航到標識的聲明位置,查找並高亮顯示標識用法。使用集成到 Visual Studio用戶接口的特別工具窗口,ReSharper可以讓你看到完整的類型繼承樹和文件結構。

集成單元測試

ReSharper自動偵查代碼中的單元測試,並提供完整的單元測試支持。你能從代碼編輯器中運行和調試測試。同時,會提供一個專用的單元測試資源窗口以讓用戶看到其單元測試的結果和重新運行單元測試。

ASP.NET編輯

利用錯誤高亮顯示,快速修正,上下文動作,代碼協助,導航,重構,和其他特徵,用戶可以愉悅而高效的編輯ASP.NET文件。使用ReSharper,你可以不受打擾的在ASP.NET中編輯和重構C#代碼,如Web控件屬性和事件,數據源,和內容點位符。

NAnt和MS Build腳本編輯

其高級編輯功能之前只針對C#可以用,後擴展到了NAnt和MSBuild腳本。若用戶安裝了ReSharper,則只要其在Visual Studio。NET中打開一個創建的腳本文件,便可立即得到完全代碼協助。

VB功能

ReSharper for Visual Studio 2005/2008/2010 擴展了其對Visual Basic代碼(包括使用VB編寫的ASP頁面)的一系列功能。其中包含了ReSharper的所有導航和搜索功能,以及語法高亮,文檔快速查找等。其最 大的益處則是對於需要開發混合了C#和VB的項目的.NET開發人員而言的。

XAML編輯

有了ReSharper,用戶無論是在進行Silverlight, WPF, 或者 Windows Phone 7 開發時,均可獲得附加的XAML編輯協助,包括即時代碼分析,代碼重構,代碼生成和調整,以及快速的解決方案範圍導航。

三、ReSharper配置

1、常規設置:(含提示框樣式及緩存)

Environment > General:
在這裏插入圖片描述

2、智能聯想設置

安裝完畢後,IDE 的智能提示(Intellisense)便會默認使用 Resharper 的提示。改過來,是在Option的窗口中(Environment > IntelliSense > General > Save):
在這裏插入圖片描述

開關ReSharpe代碼檢查設置:
Environment > Code Inspection > Settings > 禁用所有項目
在這裏插入圖片描述

添加例外規則:如*.html,*.cshtml
在這裏插入圖片描述

3、快捷鍵配置

建議你使用Reshaper的快捷鍵,不要擔心Reshaper會把你原來的快捷鍵設置給覆蓋了,因爲如果某個快捷鍵和 VS 是衝突的,Reshaper會讓你自己選擇需要使用 VS 還是 Resharper 的快捷鍵,看如下界面:
在這裏插入圖片描述
注意,不要選擇 Apply to all Reshaper shortcuts,如果選擇了,這個界面將不會再出現了,而一般情況下,你會更喜歡在衝突的時候讓自己做決定。
當然,如果你一定要使用 VS 原來的快捷鍵,那麼,就應該在 Option 的如下窗口中選中紅框內的選項,然後點 Save:
在這裏插入圖片描述

4、命名規則設置

Code Editing > C# > Naming Style > 雙擊要設置的項 > Save:
在這裏插入圖片描述
備註:若要禁用命名規則樣式:雙擊要設置的項 > 清除Enable inspections複選框

5、代碼樣式對齊設置

Code Editing > C# > Align Similar Code in Columns > 勾選所需選項
在這裏插入圖片描述
工具 > 選項 > 選擇加粗的字體均支持
在這裏插入圖片描述
選擇要格式化的代碼 > 點擊左側格式刷 > Cleanup selection
在這裏插入圖片描述

6、F12導航設置

Tools > External Sources >
選擇第一項:勾選Default Visual Studio navigation(按F12轉到原始的‘轉 到定義’功能,無反編譯)
選擇第二項:勾選Navigation to Object Browser(按F12轉到對象瀏覽器)
選擇第三項:勾選Navigation to Assembly Explorer(按F12轉到程序集資源管 理器)
選擇第四項:Navigation to Sources下所有子節點(按F12轉到反編譯)
選擇第四項:Navigation to Sources未選該節點下所有子節點(按F12僅顯示公 用及更方便查看的註釋
在這裏插入圖片描述

7、代碼片管理設置

Resharper > Tool > Templates Explor > 雙擊編輯項後修改模板即可
在這裏插入圖片描述

四、ReSharper快捷鍵

在這裏插入圖片描述

五、ReSharper:萬能的Alt+Enter

萬能的Alt+Enter能夠幫你完成很多編寫代碼過程中的dirty work,總結起來大概是這麼些:

1,幫你實現某個接口或抽象基類的方法
這個功能Visual Studio也已經幫你提供了,就是每次你在類名的後面加上:ISomeInterface的時候,它會提示你按Tab鍵就生成接口中所有方法的存根。費死勁才點得中的智能感知符上,然後生成方法。在安裝了 Resharper以後,這個功能被視爲與其它警告一樣的處理辦法。如果你:ISomeInterface以後,又沒有實現它的方法,這一行代碼會打上波 浪號,表示有警告或者錯誤發生。按下Alt+Enter,則會爲你生成這些方法。
不要覺得我小題大作,在你修改了ISomeInterface這個接口以後,比如添加了一個Initial方法,這時最快的辦法是:在 ISomeInterface上點Ctrl+Shift+G瀏覽到這個接口的實現類,然後Alt+Enter,這個類中立即就添加了Initial這個方 法,並可開始編寫代碼。

2,提供你處理當前警告的一些建議
有的時候你可能會忽略的一些細節,Resharper不會忽略,比如你用了隱式類型轉 化:Button btn = sender as Button; //隱式類型轉化
而沒有接下來檢測它是否爲空,就直接使用。這時Resharper會提示你一個警告。 如果你按下Alt+Enter,它會把你之後的代碼包括在一個if語句中:
if (btn != null)
{
//你接下來的代碼
}

3,爲你提供處理當前錯誤的一些建議(不一定是真的錯誤)
被Resharper標記爲紅色的即爲錯誤了,有時錯誤也可能是你有意爲之。比如你隨意地在View.cs中寫下了:
_presenter.GetAllLayers();
而實際上你的Presenter.cs中還沒有這個方法,那麼按下Alt+Enter就會立即在Presenter.cs中添加這個方法,並跳轉到 該方法,如果Presenter不止分佈在一個文件中,會彈出對話框讓你選擇。相比於Visual Studio經常臃腫的對話框,Resharper的彈出對話框往往十分直接,你只需立即用方向鍵選你需要的並回車。

4,爲你簡化當前的臃腫代碼
你的代碼如果被Resharper視爲多餘的,那麼會以灰色標識出來,例如:
this.Text = “標題欄文本” //this爲灰色
btnOK.Click += new EventHandler(btnOK_Click) //new EventHandler爲灰色
多餘的代碼並無害,只是顯得不那麼簡潔,

六、ReSharper:高效的代碼結構調整

用Ctrl+F12,就彈出一個像右邊這樣的窗口來。
這裏面,按照你的region來顯示,這樣讀你的代碼的人也受益了。每個方法的參數,返回值都如UML一樣列出來:

如果需要瀏覽到某個方法,直接雙擊它的名字;

如果要把某幾個方法裝進一個新的region,則可以選中方法,點工具欄上的像框的那個圖標;點叉則會刪除這個region並把相應的方法移到外面來。

如果要調整某個方法的位置,比如把它移到別的region裏面去,只需要在這裏拖動這個方法即可。

更可喜的是,你想要的從這裏瀏覽、找到所有使用和重構的功能也在這裏提供了,在某個方法上右鍵你就能開始操作。

七、ReSharper:文獻

Resharper文檔:
https://www.jetbrains.com/help/resharper/2019.3/Introduction__Index.html

Resharper配置博客:
https://blog.csdn.net/qq_36036735/article/details/94356264

**

軟件和工具需要私信我。

**

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