萬能的Alt+Enter能夠幫你完成很多編寫代碼過程中的dirty work,總結起來大概是這麼些:
- 幫你實現某個介面或抽象基類的方法;
- 提供你處理當前警告的一些建議;
- 為你提供處理當前錯誤的一些建議(不一定是真的錯誤);
- 為你簡化當前的臃腫代碼;
幫你實現某個介面或抽象基類的方法
這個功能Visual Studio也已經幫你提供了,就是每次你在類名的後面加上:ISomeInterface的時候,它會提示你按Tab鍵就產生介面中所有方法的存根。如果你這時沒按,後來,你還可以把滑鼠移至上方在這個介面名,會出現一個小小的,小的不能再小的,費死勁才點得中的智能感知符上,然後產生方法。在安裝了Resharper以後,這個功能被視為與其它警告一樣的處理辦法。如果你:ISomeInterface以後,又沒有實現它的方法,這一行代碼會打上波浪號,表示有警告或者錯誤發生。按下Alt+Enter,則會為你產生這些方法。
不要覺得我小題大作,在你修改了ISomeInterface這個介面以後,比如添加了一個Initial方法,這時最快的辦法是:在ISomeInterface上點Ctrl+Shift+G瀏覽到這個介面的實作類別,然後Alt+Enter,這個類中立即就添加了Initial這個方法,並可開始編寫代碼。
提供你處理當前警告的一些建議
有的時候你可能會忽略的一些細節,Resharper不會忽略,比如你用了隱式類型轉化:Button btn = sender as Button; //隱式類型轉化
而沒有接下來檢測它是否為空白,就直接使用。這時Resharper會提示你一個警告。如果你按下Alt+Enter,它會把你之後的程式碼封裝括在一個if語句中:if (btn != null)
{
//你接下來的代碼
}
不過令我不滿意的是,我時常要的是這樣的效果:if (btn == null)
return;
不知道這個行為能不能在配置中修改。
為你提供處理當前錯誤的一些建議
被Resharper標記為紅色的即為錯誤了,有時錯誤也可能是你有意為之。比如你隨意地在View.cs中寫下了:_presenter.GetAllLayers();
而實際上你的Presenter.cs中還沒有這個方法,那麼按下Alt+Enter就會立即在Presenter.cs中添加這個方法,並跳轉到該方法,如果Presenter不止分布在一個檔案中,會彈出對話方塊讓你選擇。相比於Visual Studio經常臃腫的對話方塊,Resharper的彈出對話方塊往往十分直接,你只需立即用方向鍵選你需要的並斷行符號。
為你簡化當前的臃腫代碼
你的代碼如果被Resharper視為多餘的,那麼會以灰色標識出來,例如:this.Text = "標題列文本" //this為灰色
btnOK.Click += new EventHandler(btnOK_Click) //new EventHandler為灰色
多餘的代碼並無害,只是顯得不那麼簡潔,如果你頭一次在安裝了Reshaper之後開啟你之前編寫過的代碼會發現大量的灰色代碼。如果你查看設計器產生的程式碼,會發現Reshaper的豎直條幾乎變成了橙色的一條了。基本上,你都可以用Reshaper為你自己的代碼瘦瘦身,設計器產生的,比如表單,或者Dataset還是不要動的好。