How To Define Persistent Local Options

The Options Layers feature allows Team-shared options to override local configurations. The table below shows an example configuration (the merged options values are highlighted) which illustrates this.

Layer Template Expand Key Debug Visualizer
Solution Personal undefined undefined
Solution Team Tab Disabled
Personal Space Enabled

If a team member saved his personal preferences to the Solution Team layer instead of Personal (as shown in the table), his preferences are applied to everyone who works with the solution. The Options Layers allow you to define options that persist regardless of the team options.


In most cases (like the one described above), you should not override the Solution Team options. The Solution Team layer should be used to store only Code Style, Code Analysis options, etc. You should remove user preferences from the Solution Team layer: reset the corresponding Solution Team options to their default values, and commit this change to your VCS. Note that the reset configuration's author should also redefine his preferences in his Personal or Solution Persoanl layer.

  1. Open the Options Layers window using the CodeRush | Options Layers... menu item.
  2. Add a custom layer to the Solution Personal layer.


  3. Select a directory outside the solution directory.


  4. Double-click the new layer to edit the options stored in it.
  5. Change the configuration options and save the changes.

    • You can store only values that are different from the default values. To store a default value, use the technique described in the Options Layers topic (Storing a Default Value in a Layer section).
    • Make sure that the changed options are not configured (has default values) in the Solution Personal layer. Otherwise, that layer's options override the same options from child layers.
  6. Add the created options layer to all the required solutions as described in steps 1-3.