ReSharper 配置及用法(二)

來源:互聯網
上載者:User

標籤:

下載工具

一: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 配置及用法(二)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.