Emacs (M-X indent-region after marking the region you want to do) and Visual studio's built-in editor can do the same too (, as well as I'm sure others can do.

There are also external programs, such as "indent" that can do the same.

--
Mats