Resharper 詳細教程


前言

注:本文部分內容轉載自:http://www.cnblogs.com/luminji/p/3285505.html

原文中部分快捷鍵在8.2版本中不適用,我已改正,並用紅色標注出來

在線API:http://www.jetbrains.com/resharper/webhelp/Introduction__Overview.html

 

Reshaper是什么 image

  即便是那些整天攻擊 .NET 和 C# 的人,也常常不得不承認 Visual Studio 確實是個夠強大的 IDE,除非他認為更少的 IDE 功能和命令行調試才是更強大的。可是,即便如此,仍阻止不了一些第三方的個人和廠商開發出一些插件來讓 VS 變得更強大。Reshaper 就是這樣一個 VS 插件,它提供了一些在 VS 基礎上更方便於程序員使用的功能,當然,劣勢是:它耗掉了更多的內存,有可能讓你不夠強大的開發機變得更慢。

安裝完畢后,在 VS 的 Menu 里,會多出個 RESHAPER 。 可以按 Alt+R 打開這個菜單(如右圖所示)

 

 image

 

設置

智能提示

安裝完畢后,IDE 的智能提示(Intellisense)便會默認使用 Resharper 的提示,不知道為什么,我一直不太喜歡它的提示。改過來,是在Option的窗口中,也可以自定義

 image

 

快捷鍵

強烈建議你使用 Reshaper 的快捷鍵,不要擔心 Reshaper 會把你原來的快捷鍵設置給覆蓋了,因為如果某個快捷鍵和 VS 是沖突的,Reshaper會讓你自己選擇需要使用 VS 還是 Resharper 的快捷鍵,看如下界面:

image

注意,不要選擇 Apply to all Reshaper shortcuts,如果選擇了,這個界面將不會再出現了,而一般情況下,你會更喜歡在沖突的時候讓自己做決定。

當然,如果你一定要使用 VS 原來的快捷鍵,那么,就應該在 Option 的如下窗口中選中紅框內的選項,然后抖抖手,點 Save:

image

 

與 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 選項,如下:

image

經過了這些設置后,IDE 就會根據這個設置的標准進行提示,如下:

image

 

Reshaper設置規則和StyleCop沖突

熟悉 StyleCop 的碼友們都知道,如果你的項目設置了 StyleCop 本身的規則,StyleCop 就會生成一個設置文檔,如下:

image

那么,Reshaper 的 StyleCop 設置規則和 StyleCop 本身的設置規則能否變成一個呢?答案是:很遺憾,不能!你必須兩頭設置,使其變成一致。所以對我來說,Reshaper那個提示或者CodeClean只是個輔助手段,StyleCop那個的 “Run StyleCop” 才是最終的提交准則。

 

如果不喜歡某個提示該怎么辦?

是的,你可以修改設置。如下:

image

在這個例子中,我不喜歡將下划線開頭的變量作為 warning 進行提示,我們就可以選擇最下方的 change settings…… 進行修改,選擇后,如下:

image

可以看到,我們修改為加了前綴。

 

萬能的 Alt + Enter

如果我們使用了 Reshaper 的快捷鍵設置,那么,在每個出現提示的地方,點擊 Alt + Enter 組合鍵,就會彈出 Resharper 建議你要進行的操作,比如:

image

在這個提示里,Reshaper 告訴我們沒有引用 System.Text 這個命名空間,這個時候,點擊 Alt + Enter 就會自動 Using 該命名空間了;

自動完成語法糖

再比如:

image

在 StringBuilder 上 Alt+Enter 組合鍵,就會提示你此處要用 var。

或者,又比如在 if 上使用組合鍵,就會提示你用三元運算符:

image

總之,Alt + Enter 是萬能的,看到提示,就使用它,你常常會得到有意義的幫助來提升你代碼的質量。一些復雜的 LINQ 你不會寫,使用 Alt+Enter 就會自動幫你將一些代碼轉換成很牛叉的 LINQ,看上你好像是個 LINQ 高手一樣;

提示

image

這個小燈就是提示,如果不想使用 Alt + Enter,就用鼠標猛戳這里,也會出現 Resharper 的建議。

 

Find Usage

Find Results

在某個類,或者變量,或者方法上點 Find Usage ,或者戳快捷鍵 Alt+F7,就是把你選中類或變量或方法全部被引用到的地方顯示出來。話說,VS2012之后的查找和查找引用功能簡直弱爆了。總之,這個功能也是 Reshaper 的一個亮點。

image

尤其,我們注意到圖中處,它將你多次查找用頁簽的形式給你保留了起來,我們在分析代碼的時候,往往會一次性查找多個變量的引用,在這個時候,就特別有幫助。總之,這個功能必要而且很程序員。

查找賦值

假如我們想查找某個屬性在那些地方被賦值,這個功能就相當實用。我把此快捷鍵設成了 Alt+F8 - Value Origin,或者你可以 鼠標右鍵,選擇 InspectValue Origin

imageimage

如下圖查找結果,共有2處地方對它進行過賦值

image

File Structure

你是否惱怒與查看類的結構要去戳這個下拉框:

image

這個時候,你按組合鍵 Ctrl + Alt +F,就會出現 Resharper 的 File Structure 窗口:

image

很方便的讓你看到你的整個成員變量窗口。

 

萬般兼重構

一個永遠寫出完美代碼的程序員永遠只存在於一個 白痴Leader 的頭腦里,作為碼畜的我們都知道,代碼是重構出來的,永遠不是設計出來的。所以,你永遠需要 Ctrl + Shift + R

image

Resharper 把你可能用到的重構方法都列出來了,動動鍵盤或者鼠標,你即刻就可以完成一次重構。

 

快速完成代碼

使用 VS 提供的智能感知和 TAB 鍵,能夠快速完成代碼,比如輸入代碼 prop,然后按 Tab 鍵,就會自動創建一個屬性,不過 Resharper 提供了另外的選擇,看上去可以完成更多的代碼。

按組合鍵 Alt + Insert,出現如下窗口:

image

話說我從來沒有使用 VS 的方法自動完成過創建一個構造器,而使用 Resharper 就可以輕松實現。

 

Cleanup Code

寫了一個齷蹉的類之后,什么是最愉快的,就是讓它順便變干凈以及變規范,這個時候,我們需要右鍵 Cleanup Code (Ctrl + Alt + F):

image

Resharper 提供了一種選擇,讓我們自己設置 Cleanup Code 的規范,當然,因為我們已經引入了 StyleCop ,所以這個規范可以設置起來非常方便。

 

PS:以上屬於開發中常用的 Reshaper 的功能,本文用於培訓組員使用 Reshaper 用,着重想講一講快捷鍵沖突的問題和與 Stylecop 結合的問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM