Rider has for certain options, like code formatting, a layered configuration system. By default it has three layers:
- Project Personal Settings
- Project Team Settings
- This computer
From bottom to top, each layer will overwrite the settings from the lower layers. You're able to save layers to disk. But this will only save a changed delta and not the whole settings.
Now, there can be a situation where you still have a strange mix-up of configuration.
For example, if person A changes settings in the "This computer" layer, and no layer on top will change this setting, it will be applied to the project.
This makes it hard, to have fully shared team settings.
Concrete example in this case:
Person A changed the setting Editor -> Code Style -> C# -> Spaces -> Within Parantheses in Statements -> "if" parantheses and saved it to his "This computer" layer. Person A did this, because that's the standard he wants to use for all his projects.
Now, we've created a project together and I've saved my personal settings as a team setting. Since I did not change the setting person A has changed for his projects, this setting is not included in the team layer.
The issue is now, that we've ended up with mixed configuration, because his instance of Rider uses "This computer" (with the "if" parantheses setting turned ON) in addition with the team settings, where there is NO setting present. Thus, it's not overriding Person A's settings.
What I basically want to have, is to save all the settings, even default ones, to the team layer, so we have one fully shared configuration.
Otherwise, my friend would need to export his "This computer" settings and reset everything to default. But that seems like a bad solution.