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.