Как добавить новую строку в инициализатор объекта с помощью Roslyn?C#

Место общения программистов C#
Anonymous
Как добавить новую строку в инициализатор объекта с помощью Roslyn?

Сообщение Anonymous »

Я пытаюсь автоматически форматировать код, чтобы улучшить читаемость, используя Roslyn.
Вот как выглядит мой метод:
public SyntaxNode GetFormatedNode(SyntaxNode node)
{
var workspace = new AdhocWorkspace();
OptionSet options = workspace.Options;
options = options
.WithChangedOption(CSharpFormattingOptions.NewLinesForBracesInMethods, true)
.WithChangedOption(CSharpFormattingOptions.NewLinesForBracesInProperties, true)
.WithChangedOption(new OptionKey(FormattingOptions.UseTabs, LanguageNames.CSharp), true)
.WithChangedOption(new OptionKey(FormattingOptions.IndentationSize, LanguageNames.CSharp), 4);

return Formatter.Format(node, workspace, options);
}

Например, если у меня есть этот код:
class Example
{
void Method()
{
Column col = new Column { ID = "mySuperColumnID", Code = "mySuperColumnCode" };
}
}

Я хотел бы автоматически отформатировать его в:
class Example
{
void Method()
{
Column col = new Column
{
ID = "mySuperColumnID",
Code = "mySuperColumnCode"
};
}
}


Подробнее здесь: https://stackoverflow.com/questions/788 ... ith-roslyn

Вернуться в «C#»