ReSharper 配置及用法 一

2021-09-06 22:11:35 字數 3761 閱讀 6262

resharper是乙個jetbrains公司出品的著名的**生成工具,其能幫助microsoft visual studio成為乙個更佳的ide。它包括一系列豐富的能大大增加c#和visual basic .net開發者生產力的特徵。使用resharper,你可以進行深度**分析,智慧型**協助,實時錯誤**高亮顯示,解決方案範圍內**分析,快速**更正,一步完成**格式化和清理,業界領先的自動**重構,高階的整合單元測試方案,和強大的解決方案內導航和搜尋。實質上,resharper特徵可用於c#,vb.net,xml,asp.net,xaml,和構建指令碼。resharper還為c#和vb.net提供了增強的交叉語言功能,它使開發者可以有效的控制.net混合專案。

1:安裝後,resharper會用他自己的英文智慧型提示,替換掉 vs2010的智慧型提示,所以我們要換回到vs2010的智慧型提示

3:resharper安裝後,會做幾件事情,這幾件事情對於除此使用者,比較麻煩,因此歸納總結一下,以資參考。

(1)、會將選項——文字編輯器——c#——常規——自動列出成員 這個選擇框的勾選去掉。這樣當你使用某個方法的時候,便不會提示引數,是乙個很鬱悶的事情。

可以手動勾上。

(2)、會將選項——文字編輯器——c#——高階——顯示實時語義錯誤、在編輯中用下劃線標識錯誤這兩個選項去掉。這個本來沒有什麼,但是如果解除安裝了resharper,

vs編輯器變不會實時提示錯誤。因此解除安裝resharper後,需要把這兩個選項重新勾選上。

5:按 alt+enter 能解決很多問題。下面是快捷鍵大全。

6:   alt+f7將你游標所在位置的變數的所有使用以列表的方式顯示出來,顯示結果的窗體可以像其他窗體那樣停靠。

它的優點包括:

我現在已經記不起來在沒有alt+f7之前我是怎麼查詢的。反正現在我幾乎不怎麼樣ctrl+f了,除非我忘記了某個變數的名字。如果是這樣,多半這個名字需要refactor,那也是resharper的另一大塊功能所在。也許有人對這個功能嗤之以鼻,但是用過cab的人都知道,訂閱和發布某個事件的簽名,完全是字串,如果你不用搜尋來找到它的話,你都不知道這個控制項的滑鼠點下去,到底有多少個處理程式在背後開始工作了。用了alt+f7來搜尋這個字串,等於在查詢背後所有的呼叫者。

不過提示你,當游標停留在乙個型別上時,要慎用alt+f7,假設是乙個string,你應該能想象到得找到多少個使用

7:威力無比的alt+enter回車

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

8:  ctrl + f11   當我們看別人的**,或者是看自己的**的時候,總是覺得**太多,於是我們就用 region來把**進行了封裝注釋,可是這樣之後別人看**就很鬱悶,resharper的  file structure 功能,就可以把region和你的方法都展示出來。

說了這麼多,其實就是把物件瀏覽器和region的長處結合起來,既可以清晰的分類,又能一目了然的找到需要的方法。resharper這時幫上你的大忙了。用ctrl+f11,就彈出乙個像右邊這樣的視窗來。

這裡面,按照你的region來顯示,這樣讀你的**的人也受益了。每個方法的引數,返回值都如uml一樣列出來。

9:重構才是王道(上)

重構是一種精神,證明你在致力於提供高效的、精煉的、健壯的**,而不是凌亂的、晦澀的、漏洞百出的**。 

在visual studio 2005中,微軟第一次提供了重構工具。但是不夠,遠遠不夠。我們需要的重構是非常廣義的,我們想要對**進行快速的調整,快到我在想什麼我的工具就能做什麼。這才是追求重構的境界。所以在這個意義上,幾乎resharper為你提供了巨大的生產力。 

visual studio 2005提供的重構包括了如下:

封裝字段

提取方法

提取介面

提公升區域性變數

移除引數

重新命名重新排列引數

這些方法在resharper中全部都支援(但resharper的重構遠不止這些),它們對應的變成了:

封裝字段 —— introduce field

提取方法 —— extract method

提取介面 —— extract inte***ce (另增加了extract superclass提取為基類)

提公升區域性變數 —— introduce variable

移除引數 —— 移到change signature(改變方法簽名)中

重新命名 —— rename (resharper會根據物件的型別名稱,提供你幾個可選的最合適的名稱)

重新排列引數 —— 移到change signature(改變方法簽名)中

我知道很多人都聲稱自己e文不好,但是,這確實都是很簡單的單詞,難不倒任何人的。這些重構的功能是人所共知的,下面就告訴大家一些resharper特有的,首先,重構的快捷鍵是ctrl+shift+r: 

1、對於類,除了提取介面、基類,你還可以移動它到其他的命名空間和移動到別的檔案裡,這是乙個實用的功能,也許你不信,但是我這真的有個人,把所有的business entity都寫在乙個dataobject.cs裡面。你難以想象,我開啟它時嘴張了多大。 

2、對於字段,提供了:

3、對於方法,提供了:

4、在方法體內部: 

extract method,不用介紹了吧。 

introduce variable/parameter/field,取決於你游標所在的物件,可以提供轉化的功能。 

inline variable:就是把:

ipoint point = new pointclass(); 

point.putcoords(_point.x, _point.y);

變成這樣子:

new pointclass().putcoords(_point.x, _point.y); //這是個糟糕的例子

5、重新命名: 

為什麼重新命名值得挑出來講,因為resharper提供了命名建議這一金子般的功能。於是,想改名為易讀性強的名字,不是那麼費腦子的事情了。resharper會根據這個變數的型別,為你提供幾個備選名字,名字列表是列在游標位置上的(對方法重新命名會彈出對話方塊),你只需要用方向鍵選擇並敲回車即可,這種名字多是將型別的名字首字母改為小寫得來的,甚至刨根到基類的型別名,你還可以在此基礎上加以改進。如果你還在用i,j這種晦澀的名稱,請迅速的把他們改為outindex, pointcount之類可讀的名稱。 

resharper其實提供了更先進的功能,在你命名乙個變數時,就有快捷鍵為你提供備選名字,但是ctrl+space是我們寶貴的輸入法切換鍵,於是,我對變數名的敲定,往往是先起了乙個較爛的,然後重新命名的。 

還有一些更廣義上的,幫助你對**進行調整的功能,我另寫一篇吧,不然太長了。

重構才是王道(下)

插入** 

resharper的alt+insert快捷鍵提供給你插入**的功能。由於這兩個鍵非常難按(這是我的感受),真正在使用的時候,我用的是alt-r-c-g,意指開啟resharper選單——code——generate,都只需要你的左手,這樣你可以右手一邊比劃,一邊還在寫**,多酷啊。

增強的瀏覽功能

ReSharper 配置及用法

1 安裝後,resharper會用他自己的英文智慧型提示,替換掉 vs2010的智慧型提示,所以我們要換回到vs2010的智慧型提示 3 resharper安裝後,會做幾件事情,這幾件事情對於除此使用者,比較麻煩,因此歸納總結一下,以資參考。1 會將選項 文字編輯器 c 常規 自動列出成員 這個選擇...

ReSharper 配置及用法

resharper 配置及用法 1 安裝後,resharper會用他自己的英文智慧型提示,替換掉 vs2010的智慧型提示,所以我們要換回到vs2010的智慧型提示 3 resharper安裝後,會做幾件事情,這幾件事情對於除此使用者,比較麻煩,因此歸納總結一下,以資參考。1 會將選項 文字編輯器 ...

ReSharper 配置及用法

1 安裝後,resharper會用他自己的英文智慧型提示,替換掉 vs2010的智慧型提示,所以我們要換回到vs2010的智慧型提示 3 resharper安裝後,會做幾件事情,這幾件事情對於除此使用者,比較麻煩,因此歸納總結一下,以資參考。1 會將選項 文字編輯器 c 常規 自動列出成員 這個選擇...