В моем CodeFixProvider я добавляю новый параметр в конструктор, но форматирование не работает. Если у человека каждый параметр находится в отдельной строке, новый параметр добавляется, но в начале строки с запятой в новой строке. Вместо этого:
class Foo(
string something,
Context context
);
В итоге я создаю это:
class Foo(
string something
, Context context
);
Что мне нужно изменить в приведенном ниже коде, чтобы он работал правильно?
var newParameter = SyntaxFactory
.Parameter(SyntaxFactory.Identifier(parameterName))
.WithType(typeSyntax);
var count = parameterList.Parameters.Count;
if (count > 0) {
var previous = parameterList.Parameters[count - 1];
newParameter = newParameter.WithTriviaFrom(previous);
}
var newParameterList = parameterList.AddParameters(newParameter);
SyntaxNode? newItem;
if (data.Item is ConstructorDeclarationSyntax constructor)
newItem = constructor.WithParameterList(newParameterList);
else if (data.Item is ClassDeclarationSyntax @class)
newItem = @class.WithParameterList(newParameterList);
else
return data.Document;
editor.ReplaceNode(data.Item, newItem);
Подробнее здесь: https://stackoverflow.com/questions/788 ... wrong-spot