2011-08-13 37 views
6

當方法的參數列表增長到一行不適合的程度時,我喜歡格式化代碼,以便每個參數都位於單獨的行上(以下建議StyleCop的),像這樣:在Visual Studio中的多行上自動縮進參數列表

public void MyMethod(
    int someArgument, 
    double someOtherArgument, 
    int someMoreArguments) 

我遇到的問題是,這種格式化「脆弱」,用Ctrl + K + d時,不會自動獲得重新格式化。例如,如果我碰巧在其中一個參數的前面插入一些空格,它就不會被刪除,而我最終會做一些冗長的手動重新格式化。如果我複製一個方法(比如提供一個重載簽名),副本中的參數縮進就會變得非常混亂。
我有LINQ語句,這也是我喜歡在多行來,像一個類似的問題:

myEnumerable. 
    .Where(this and that) 
    .Where(this and that) 
    .FirstOrDefault(); 

我意識到這是完整的強迫格式和一個很小的問題,但有一個方式使Visual Studio 2010自動重新縮進多行參數跟隨該模式,當它錯位?

回答

3

你可能想看看JetBrains的Resharper。它有各種可用於格式化代碼的規則,這些規則要比內置的VS好多了。

http://www.jetbrains.com/resharper/

這種特殊的選項位於:

更新

ReSharper的>選項> C#>格式樣式>換行和包裝>迴繞長行

我不不知道它是否正是你想要的,但它確實包住長線

+0

我實際上已經在使用ReSharper;我會檢查它是否有一個選項。 – Mathias

相關問題