Resharper進階四:萬能的Alt+Enter

來源:互聯網
上載者:User
萬能的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還是不要動的好。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.