Project settings are aimed to give us a layered approach to settings.
The user can have defaults (typically stored somewhere like gsettings) and the project may override those values (sometimes stored in a ".user-prefs" file in the source tree.
We'd like to avoid the .user-prefs option. Instead, we will use relocatable GSetings, which can be found at:
See libide/ide-settings.c for in-progress implementation.
Design in progress
Implementation in progress