標籤:
下載工具
一:Reshaper是什麼
即便是那些整天攻擊 .NET 和 C# 的人,也常常不得不承認 Visual Studio 確實是個夠強大的 IDE,除非他認為更少的 IDE 功能和命令列調試才是更強大的。可是,即便如此,仍阻止不了一些第三方的個人和廠商開發出一些外掛程式來讓 VS 變得更強大。Reshaper 就是這樣一個 VS 外掛程式,它提供了一些在 VS 基礎上更方便於程式員使用的功能,當然,劣勢是:它耗掉了更多的記憶體,有可能讓你不夠強大的開發機變得更慢。
安裝完畢後,在 VS 的 Menu 裡,多了個 RESHAPER 。
二:設定
1.1 智能提示
安裝完畢後,IDE 的智能提示(Intellisense)便會預設使用 Resharper 的提示,不知道為什麼,我一直不太喜歡它的提示。改過來,是在Option的視窗中:
1.2 快速鍵
強烈建議你使用 Reshaper 的快速鍵,不要擔心 Reshaper 會把你原來的快速鍵設定給覆蓋了,因為如果某個快速鍵和 VS 是衝突的,Reshaper會讓你自己選擇需要使用 VS 還是 Resharper 的快速鍵,看如下介面:
注意,不要選擇 Apply to all Reshaper shortcuts,如果選擇了,這個介面將不會再出現了,而一般情況下,你會更喜歡在衝突的時候讓自己做決定。
當然,如果你一定要使用 VS 原來的快速鍵,那麼,就應該在 Option 的如下視窗中選中紅框內的選項,然後抖抖手,點 Save:
1.3 與 StyleCop 的整合
如果我們同時安裝了 StyleCop(http://stylecop.codeplex.com/) ,則 Resharper 會整合提示你當前的代碼是否符合你的 StyleCop 設定。
PS:以下配置基於 StyleCop 4.7 和 Reshaper 7.1.3。在某些情況下,版本較舊的情況下,StyleCop 和 Reshaper 沒有整合到一起,使得你在代碼規範的道路上不能使用 Resharper 的提示。
整合後,我們可以在 Option 介面的 Code Eidting-〉Code Cleanup 介面,Add 一個新規則,然後,在新規則中可以看到 stylecop 選項,如下:
經過了這些設定後,IDE 就會根據這個設定的標準進行提示,如下:
1.4 Reshaper 的 StyleCop 設定規則和 StyleCop 本身的設定規則衝突問題
熟悉 StyleCop 的碼友們都知道,如果你的項目設定了 StyleCop 本身的規則,StyleCop 就會產生一個設定文檔,如下:
那麼,Reshaper 的 StyleCop 設定規則和 StyleCop 本身的設定規則能否變成一個呢?答案是:很遺憾,不能!你必須兩頭設定,使其變成一致。所以對我來說,Reshaper那個提示或者CodeClean只是個輔助手段,StyleCop那個的 “Run StyleCop” 才是最終的提交準則。
1.5 如果不喜歡某個提示該怎麼辦?
是的,你可以修改設定。如下:
在這個例子中,我不喜歡將底線開頭的變數作為 warning 進行提示,我們就可以選擇最下方的 change settings…… 進行修改,選擇後,如下:
可以看到,我們修改為加了首碼。
三:萬能的 Alt + Enter
如果我們使用了 Reshaper 的快速鍵設定,那麼,在每個出現提示的地方,點擊 Alt + Enter 按鍵組合,就會彈出 Resharper 建議你要進行的操作,比如:
在這個提示裡,Reshaper 告訴我們沒有引用 System.Text 這個命名空間,這個時候,點擊 Alt + Enter 就會自動 Using 該命名空間了;
3.1 自動完成的文法糖
再比如:
在 StringBuilder 上 Alt+Enter 按鍵組合,就會提示你此處要用 var。
或者,又比如在 if 上使用按鍵組合,就會提示你用三元運算子:
總之,Alt + Enter 是萬能的,看到提示,就使用它,你常常會得到有意義的協助來提升你代碼的品質。一些複雜的 LINQ 你不會寫,使用 Alt+Enter 就會自動幫你將一些代碼轉換成很牛叉的 LINQ,看上你好像是個 LINQ 高手一樣;
3.2 提示
這個小燈就是提示,如果不想使用 Alt + Enter,就用滑鼠猛戳這裡,也會出現 Resharper 的建議。
四:Find Usage
在某個類,或者變數,或者方法上點 Find Usage ,或者戳快速鍵 Alt + F7,就是把你選中類或變數或方法全部被引用到的地方顯示出來。話說,VS2012之後的尋找和尋找引用功能簡直弱爆了。總之,這個功能也是 Reshaper 的一個亮點。
尤其,我們注意到圖中處,它將你多次尋找用頁簽的形式給你保留了起來,我們在分析代碼的時候,往往會一次性尋找多個變數的引用,在這個時候,就特別有協助。總之,這個功能必要而且很程式員。
五:File Structure
另外,是否惱怒與查看類的結構要去戳這個下拉框:
這個時候,你按按鍵組合 Ctrl + F11,就會出現 Resharper 的 File Structure 視窗:
很方便的讓你看到你的整個成員變數視窗。
六:萬般兼重構
一個永遠寫出完美代碼的程式員永遠只存在於一個 白癡Leader 的頭腦裡,作為碼畜的我們都知道,代碼是重構出來的,永遠不是設計出來的。所以,你永遠需要 Ctrl + Shift + R:
Resharper 把你可能用到的重構方法都列出來了,動動鍵盤或者滑鼠,你即刻就可以完成一次重構。
七:快速完成的代碼
使用 VS 提供的智能感知和 TAB 鍵,能夠快速完成代碼,比如輸入代碼 prop,然後按 Tab 鍵,就會自動建立一個屬性,不過 Resharper 提供了另外的選擇,看上去可以完成更多的代碼。
按按鍵組合 Alt + Insert,出現如下視窗:
話說我從來沒有使用 VS 的方法自動完成過建立一個構造器,而使用 Resharper 就可以輕鬆實現。
八:Cleanup Code
寫了一個齷蹉的類之後,什麼是最愉快的,就是讓它順便變乾淨以及變規範,這個時候,我們需要右鍵 Cleanup Code (Ctrl + Alt + F):
Resharper 提供了一種選擇,讓我們自己設定 Cleanup Code 的規範,當然,因為我們已經引入了 StyleCop ,所以這個規範可以設定起來非常方便。
PS:以上屬於開發常用的 Reshaper 的功能,本文用於培訓組員使用 Reshaper 用,著重想講一講快速鍵衝突的問題和與 Stylecop 結合的問題。
ReSharper 配置及用法(二)