Когда список аргументов метода увеличивается до такой степени, что они не помещаются удобно на одной строке, мне нравится форматировать код так, чтобы каждый аргумент находился на отдельной строке (согласно предложению StyleCop), например так:
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 автоматически переопределять многострочные аргументы, следуя этому шаблону, когда он смещается?