Configuration Master File

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>

Storing All Settings in One Configuration File

An important option in config_masterl.xml is in the Options section: an attribute named OverrideWith­File. 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.

Storing Configuration Parts in Separate Files

If you prefer to store different parts of the configuration in several files, set the Option attribute Override­WithFile 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".

Project-Specific Configuration Parts

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 proj­ect's source files are. You can see and edit this path in Project > Project Set­tings.

project_source:config_keymaps.xml

 

project_data:

Points to the directory where your proj­ect's data files are maintained. This is specified when you first create your project.

project_data:config_menus.xml

Grouping Configuration Parts into Files

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>