2011-08-13 17 views
6

Kiedy lista argumentów do metody rośnie do punktu, w którym nie mieszczą się wygodnie w jednej linii, lubię formatować kod tak, że każdy argument jest w osobnej linii (po StyleCop sugestii), podobnie jak to:Automatyczne wcięcie listy argumentów na wielu liniach w Visual Studio

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

problem napotkasz jest to, że formatowanie jest „kruche” i nie dostać automatycznie ponownie formatowane przy użyciu Ctrl + K + D. Na przykład, jeśli zdarzy mi się wstawić spacje przed jednym z argumentów, nie zostanie on usunięty, a na koniec wykonuję żmudne ręczne formatowanie. Jeśli skopiuję metodę (powiedzmy, aby podać przeciążony podpis), wcięcie argumentu w kopii staje się całkowicie nieporządne.
mam podobny problem ze sprawozdaniem LINQ, które chciałbym także formatowania na wielu liniach, takich jak:

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

Zdaję sobie sprawę, jest to kompletna obsesyjno-kompulsywne formatowanie, i to bardzo niewielki problem, ale jest tam sposób, aby program Visual Studio 2010 automatycznie ponownie wstawił argumenty wielowierszowe zgodnie z tym wzorcem, gdy zostanie źle wyrównany?

Odpowiedz

3

Możesz chcieć spojrzeć na Resharper z JetBrains. Ma wszystkie rodzaje reguł, które można zastosować do kodu formatowania, który jest o wiele lepszy niż wbudowane elementy VS.

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

Ta konkretna opcja znajduje się pod adresem:

Aktualizacji

Resharper> Opcje> C#> Formatowanie Style> Przerwy linii i dozowania> łamanie długich linii

I don Nie wiem, czy robi dokładnie to, co chcesz, ale robi to z długimi liniami

+0

Używam już programu ReSharper; Sprawdzę, czy ma na to opcję. – Mathias

Powiązane problemy