A special file named config_master.xml specifies where the various configuration parts come from. It is stored in your Source Insight user directory in the Settings sub directory. It gets created the first time you run Source Insight. Normally it does not need to ever change after that.
A typical config_master.xml file looks like this:
<?xml version="1.0" ?>
<SourceInsightMasterConfiguration
AppVer="4.00.0010"
AppVerMinReader="4.00.0008"
>
<Options
OverrideWithFile="config_all.xml"
ProjectDir="Projects"
BackupDir="Backup"
ClipsDir="Clips"
/>
<ConfigurationParts>
<GeneralPreferences file="config_general.xml" />
<DisplayPreferences file="config_display.xml" />
<EditingPreferences file="config_editing.xml" />
<SyntaxFormatting file="config_syntaxformatting.xml" />
<SyntaxDecorations file="config_syntaxdecorations.xml" />
<DisplayColors file="config_displaycolors.xml" />
<FilePreferences file="config_fileprefs.xml" />
<LookupPreferences file="config_lookupprefs.xml" />
<Menus file="config_menus.xml" />
<Keymaps file="config_keymaps.xml" />
<CustomCommands file="config_customcommands.xml" />
<DocumentTypes file="config_documenttypes.xml" />
<Styles file="config_styles.xml" />
<Ftp file="config_ftp.xml" />
<RemoteAccess file="config_remoteaccess.xml" />
<ProjectSync file="config_projectsync.xml" />
<ProjectDefaults file="config_projectdefaults.xml" />
<Logging file="config_logging.xml" />
<Languages file="config_languages.xml" />
<Search file="config_search.xml" />
<Toolbars file="config_toolbars.xml" />
<PrintPageSetup file="config_pagesetup.xml" />
<ProjectReport file="config_projectreport.xml" />
<SymbolPane file="config_symbolpane.xml" />
<ImportLibs file="config_importlibs.xml" />
<SourceFormatter file="config_sourceformatter.xml" />
</ConfigurationParts>
</SourceInsightMasterConfiguration>
An important option in config_masterl.xml is in the Options section: an attribute named OverrideWithFile. If this value points to a file, then ALL the configuration parts are maintained in that single file. This is the simplest arrangement, and it is the default setting.
If you prefer to store different parts of the configuration in several files, set the Option attribute OverrideWithFile to an empty string. Then the ConfigurationParts XML element is used.
The ConfigurationParts element contains elements for each configuration part. In each part, the value of the file attribute is the file that will contain the given configuration part. For example, Menu settings could be maintained in "config_menus.xml".
You may want to have some configuration part be specific to each project. In this case, the configuration part file is stored along with either your project's source code, or the project's data directory.
Any configuration part file attribute can be prefixed with the following tags:
Prefix Tag |
File Location |
Example |
project_source: |
Points to the directory where your project's source files are. You can see and edit this path in Project > Project Settings. |
project_source:config_keymaps.xml
|
project_data: |
Points to the directory where your project's data files are maintained. This is specified when you first create your project. |
project_data:config_menus.xml |
You can group more than one configuration part in a file by specifying the file in multiple configuration part file attributes. For example, you could save the Menus and Keymaps configuration parts in a single file named config_menu_keymap.xml with these attributes:
<ConfigurationParts>
....
<Menus file="config_menu_keymap.xml"/>
<Keymaps file="config_menu_keymap.xml"/>
....
</ConfigurationParts>