Preferences File Layers
Wing's preferences manager runs on a layered set of preferences files, as follows:
- For each preference, Wing defines a hardwired default internally.
- An installation-wide preferences file may be placed inside the install directory listed in Wing's About box.
- An individual user preferences file is stored in the User Settings Directory.
Additional preferences files may be specified on the command line with one or more --prefs-file options. For example:
wing5.1 --prefs-file /path/to/myprefs
The values given in later files in this list override values found in earlier ones. For example, the user-specific preferences file take precedence over any values in the WINGHOME/preferences file, and a file specified with --prefs-file would override values in the user-specific preferences file.
When preferences are changed, Wing writes the changes to the lowest file present on the above list, either the last file specified with --prefs-file or the preferences file in the User Settings Directory. Wing will never modify the installation-wide preferences file.
If a preference is set to a default value, as obtained from the preceding files in the above list, then Wing removes the value from the writeable preferences file. This means that the effective value of a preference can change in later IDE sessions even if the last file on the list above is unchanged. This is by design to allow inheriting centrally managed default values.