2015-09-11 12 views
5

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?

+0

Non so cosa sta succedendo, ma probabilmente puoi formattarlo come vuoi con 'Formatter.FormatAsync'. –

risposta

Problemi correlati