Visual Studio, per solution indentation settings

UPDATE: VS 2017 supports EditorConfig natively: https://blogs.msdn.microsoft.com/dotnet/2016/12/15/code-style-configuration-in-the-vs2017-rc-update/

In VS 2010 and above, there's an extension that sets the indentation based on .editorconfig file in the solution/project root:

http://visualstudiogallery.msdn.microsoft.com/c8bccfe2-650c-4b42-bc5c-845e21f96328

There's also similar extension for Visual Studio Code.


Here is one (admittedly hacky) way to achieve what you are looking for:

1) create a macro that changes the indentation (source)

 Sub Set-Indent(indent As integer)
     Dim props As EnvDTE.Properties = DTE.Properties("TextEditor", "C/C++")
     Dim ts As EnvDTE.Property = props.Item("TabSize")
     Dim ins As EnvDTE.Property = props.Item("IndentSize")
     ts.Value = indent 
     ins.Value = indent 
 End Sub

2) Hook that up with your solution loading: In the macro explorer, choose EnvironmentEvents, select SolutionEvents in the first drop-down, Opened in the second. You now have a macro that will trigger every time you open a solution. You just need to map your solutions to the required indentation.