There's a very useful class called IndentedTextWriter in the System.CodeDom.Compiler namespace that automatically adds whitespace before each line depending on its Indent property. This works great when you have code with several nested (or recursive)
Read More...