Resharper 和 Rider 的奇淫技巧,你知道多少?
.NET 開發中最令人印象深刻的生產力工具之一是ReSharper。每次發布時,我都對它的功能感到震驚。不要誤會我的意思,我喜歡 Visual Studio,而且它也變得越來越好。但每當我認為 Visual Studio 迎頭趕上時,我就會發現一些令人驚嘆的新功能,讓我再次依賴 ReSharper 和Rider。
因此,在這篇博文中,我將向您介紹 ReSharper 的 6 個更令人上癮的功能。那些你可能不知道的,但一旦你知道就不能沒有。
1. Ctrl + T、Ctrl + T + T、Ctrl + T + T + T
優秀的Ctrl + T
命令大家都知道,它可以讓你快速查找字段、文件和類型。但是,您可能不知道可以T
多次單擊該按鈕。這使得它Ctrl + T + T
和Ctrl + T + T + T
. 第一個選項允許您只搜索類型。
第二個選項Ctrl + T + T + T
允許您搜索解決方案中的任何文本。有點像 Visual Studio 的Ctrl + Shift + F
,只是更好(以我的拙見)。
2. 打開 Ctrl + T 結果作為列表
在大型應用程序中導航可能非常困難。您並不總是記得要查找的確切字段名稱。或者您可能還記得您正在尋找帶有單詞 的內容Home
,但是適合該搜索的字段和類的數量是巨大的。使用Ctrl + T
僅顯示適合一個屏幕的第一批結果。但是,如果您搜索某些內容並點擊Shift + Enter
,您將在工具窗口中看到所有結果。就這樣:
現在,您可以在這些結果中快速滾動或過濾以找到您的意思。這太方便了,我覺得我什至不配擁有它。
3. 價值來源,價值歸宿
下一個功能非常令人上癮,一旦您開始使用它,您將無法停止。
ReSharper 允許您檢查任何變量並查看所有可能的調用堆棧,您可以從哪里獲取它(作為參數)以及它的去向(作為參數)。讓我們從你從哪里得到它開始。要使用該功能,請使用Inspect this的Ctrl + Alt + Shift + A
快捷方式或在右鍵單擊上下文菜單中找到Inspect。
單擊Value Origin將顯示如何recording
接收的所有可能路徑。像這樣:
在這種情況下,我們得到了它作為方法的參數ShouldStopRecording
,這可能從任何一種方法得到它AddRecordingResult
,ContinueRecording
,GetLastRecording
,或GetRunningSessions
。
要查看recording
變量的所有可能目的地,請單擊Value Destination,它將顯示:
這顯示了這個變量將被使用或作為參數傳遞的所有地方。在這種情況下,您可以看到它僅ShouldStopRecording
用於訪問其屬性。
這兩個功能都使代碼變得非常容易。無需使用按方法查找所有引用或查找用法,您將能夠找到特定變量的路徑。
4. Postfix 補全模板
大家都知道 Visual Studio 片段。如果您不知道,請查看我的另一篇文章您應該知道的 Visual Studio 中的 5 個生產力技巧。ReSharper 有一個類似的功能,允許您在輸入表達式后將其插入到模板中。這是一個例子。
一旦我點擊Enter
或Tab
,ReSharper 會自動創建一個foreach
語句。
這個技巧可用於任何集合。
這是另一個例子:
選擇if
后綴將創建以下語句:
有很多這些,您可以在此處查看完整列表。
5. 全解決方案分析
通過解決方案范圍的分析,ReSharper 不斷分析您的整個解決方案並巧妙地發現錯誤和警告。這些都是編譯錯誤和運行時錯誤。R# 在這方面很聰明。這可以用作一種健全的健康檢查。每當您重構大量代碼時,此功能對於確保您沒有犯任何錯誤非常有用。任何明顯的錯誤是——R# 還沒有找到邏輯錯誤,而不是開發人員。
這是它的樣子:
出於充分的理由,默認情況下關閉解決方案范圍的分析。它吃掉了性能。至少在使用 Visual Studio + ReSharper 時。另一方面,如果您使用的是 Rider,您可能甚至不會注意到它已開啟。
6. 提取類
ReSharper 最令人印象深刻的事情之一是它的重構功能。它們中的大多數都可以從Refactor This菜單中使用Ctrl + Shift + R
快捷方式訪問。我最喜歡的重構之一是Extract Class。它會將字段、屬性和方法等成員提取到一個新類中,該類將在原始類中創建為字段。下面是一個例子:
單擊Ctrl + Shift + R
成員Sort 時,會出現以下對話框:
您可以在此處選擇要提取的成員。R# 通過顯示用法來幫助您。在上面的例子中,Mean
使用Sort
和你可以一起提取它們。
一旦您選擇了提取的類的名稱(我選擇了Sorter
)和對提取的引用的名稱 ( _sorter
),您將得到以下結果:
這使得將大類分解為小類的常見操作變得更加容易。
就是這樣,享受快樂的編碼。
https://michaelscodingspot.com/productivity-in-resharper-and-rider/