Ho bisogno di formattare una classe per garantire che sia facilmente leggibile. Ho l'albero di sintassi, la radice CompilationUnitSyntax e ClassDeclarationSyntax. Formattare lo spazio vuoto come segue.Roslyn - come formattare in modo affidabile lo spazio bianco per una classe
root = root.ReplaceNode(classSyntax, classSyntax.NormalizeWhitespace(elasticTrivia: true));
syntaxTree = syntaxTree.WithRootAndOptions(root, syntaxTree.Options);
Prima:
#region MyRegion
public class MyClass
{
// Info about MyClass
}
#endregion
Dopo:
#region MyRegion
public class MyClass
{
// Info about MyClass
}#endregion
Perché parentesi graffa di chiusura della classe sbattuto in #endregion?
Se eseguo NormalizeWhitespace ancora una volta sul testo "Dopo", #endregion viene spostato nuovamente sulla propria riga. Quindi un'ulteriore chiamata a NormalizeWhitespace lo sposta di nuovo indietro. Cosa sta succedendo?
Non so cosa sta succedendo, ma probabilmente puoi formattarlo come vuoi con 'Formatter.FormatAsync'. –