There is nothing within ScintillaNET itself that will do code formatting for you as you've described.
ScintillaNET is able to perform syntax highligting through the user of a lexer (or sometimes called a scanner). This process identifies tokens and assigns them a color based on whether they match a predfined list.
To perform code formatting requires understanding the meaning of those tokens through the use of a parser. That's a level of complexity far exceeding just lexing and therefore usually only high-end IDE's support code formatting.
Fortunately for you, an XML parser readily exists in the form of the XmlReader/XmlWriter classes of the .NET framework. Using the XmlWriterSettings class to configure indentation needs you should very easily be able to:
- Create a new TextReader (StringReader) from the text of the ScintillaNET control and pass it to a new XmlReader
- Create a new XmlWriterSettings class configured to use indentation
- Create a new TextWriter (StringWriter) and pass it to a new XmlWriter
- Copy each node from the reader to the writer
- Put the result back into ScintillaNET