Quando generiamo un file tramite il motore di templating di Visual Studio, una delle cose più ostiche è la gestione dell'indentazione del codice. Infatti capita dfi ritrovarsi generato del codice perfettamente valido, ma indentato in un modo incomprensibile. Per eliminare il problema, possiamo prendere il controllo completo sull'indentazione utilizzando i metodi PushIndent e PopIndent, WriteLine. Il primo metodo un livello di indentazione, il secondo elimina un livello di indentazione e il terzo metodo scrive sull'output utilizzando l'attuale livello di indentazione.
<#@ template debug="false" hostspecific="false" language="C#" #> <#@ assembly name="System.Core" #> <#@ import namespace="System.Linq" #> <#@ import namespace="System.Text" #> <#@ import namespace="System.Collections.Generic" #> <#@ output extension=".cs" #> <# WriteLine(CurrentIndent + "class Person {"); PushIndent(" "); WriteLine(CurrentIndent + "public void Greet() {"); PushIndent(" "); WriteLine(CurrentIndent + "// code"); PopIndent(); WriteLine(CurrentIndent + "}"); PopIndent(); WriteLine(CurrentIndent + "}"); #>
In questo esempio creiamo la prima riga della classe Person senza alcuna indentazione. Successivamente aggiungiamo un'indentazione di due caratteri e creiamo il metodo Greet che verà quindi indentato correttamente così come il suo contenuto sottoposto a un'ulteriore indentazione. Infine, eliminiamo un'indentazione e chiudiamo il metodo, eliminiamo un'altra indentazione e chiudiamo la classe. Il risultato finale è il seguente.
class Person { public void Greet() { // code } }
Se vogliamo ripulire tutte le indentazioni in un colpo solo, possiamo utilizzare il metodo ClearIndent.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.