.. _Managed Settings:

Managed Settings
================

Not all settings are used in the same way. Some of the settings might be used only when the platform starts and others only when a specific operation is invoked.

The following list presents the type of settings, the file where they are stored by default and order of precedence:

-  **Eclipse Launcher Configuration**
    -  **file name**: eclipse.ini
    -  **description**: settings used by the Eclipse launcher (executable) to start the process, for example memory allocation thresholds
    -  **precedence**:

        -  dvt.sh arguments
        -  user
        -  common
        -  $DVT_HOME/eclipse/eclipse.ini
    -  **handling**: merged by precedence order; flags that have a key-value nature will be overwritten by the higher precedence value and all other flags will be accumulated
    -  **relevant settings**:

        -  memory allocation thresholds (-Xms, -Xmx, -Xss)
        -  flags used by Eclipse
        -  compiler exclude options

-  **GTK RC File**
    -  **file name**: theme.gtkrc
    -  **description**: settings used by GTK window manager under linux operating system to determine the window colors for buttons, text, etc.
    -  **precedence**:

        -  user
        -  common
        -  $HOME/.dvt.gtkrc
    -  **handling**: replaced by precedence order; the file with higher precedence will be used

-  **Workspace Preferences**
    -  **file name**: preferences.ini
    -  **description**: any changes done through :menuselection:`Window --> Preferences` dialog will be automatically reflected in the preferences.ini file at user level;
    -  **precedence**:

        -  user
        -  common
    -  **handling**: merged by precedence order; preferences will be overwritten by the higher precedence value
    -  **relevant settings**:

        -  key bindings
        -  global code templates
        -  editor customizations
        -  task tags

-  **DVT Generic Run Configurations**
    -  **file name**: \*.launch
    -  **description**: run configurations are used to run external programs and can be serialized in \*.launch files
    -  **handling**: accumulated from all opened projects (including user and common locations automatically linked in *DVT-Settings* project)

-  **Verissimo Linter Configurations**
    -  **file name**: \*.launch
    -  **description**: linter configurations are used to set the linter configuration files (\*_lint_ruleset.xml, \*_lint_waivers.xml, \*_lint_user_notes.xml, \*_lint_manual_checks_status.xml) and can be serialized in \*.launch files
    -  **handling**: accumulated from all opened projects (including user and common locations automatically linked in *DVT-Settings* project)

-  **Compile Waivers**
    -  **file name**: waivers.xml
    -  **description**: used to change the severity (promote/demote) or disable the problems reported by DVT during compilation (see :ref:`Compile Waivers`)
    -  **precedence**:

        -  project
        -  user
        -  commonunmanaged
    -  **handling**: accumulated from all levels in precedence order
    -  **default location**: <project>/.dvt/waivers.xml

-  **Content Filters**
    -  **file name**: content_filters.xml
    -  **description**: used to eliminate the unnecessary clutter introduced by 3rd party libraries like UVM (automatically hiding their API, TODO reminders, problems, ...)
    -  **precedence**:

        -  project
        -  user
        -  common
    -  **handling**: accumulated from all levels in precedence order
    -  **default location**: <project>/.dvt/content_filters.xml

-  **External Builders**
    -  **file name**: external_builders.xml
    -  **description**: used to invoke any 3rd party script or tool and back-annotate its output (errors, warnings etc.) to the source code (see |external-builder|)
    -  **precedence**: there can't be two configurations with the same name, if it happens there is no guarantee on the precedence order
    -  **handling**: accumulated from all levels
    -  **default location**: <project>/.dvt/external_builders.xml

-  **Export HTML Documentation**
    -  **file name**: dvt_export_html.xml
    -  **description**: settings used by the Export HTML Documentation Wizard (see |export-documentation|)
    -  **precedence**:

     -  project
        -  user
        -  common
        
    -  **handling**: flags that have a key-value nature will be overwritten by the higher precedence value and all other flags will be accumulated
    -  **default location**: <project>/.dvt/dvt_export_html.xml

-  **Smart Log Styles**
    -  **file name**: log_styles.xml
    -  **description**: |smart-log| customization
    -  **precedence**:

        -  project
        -  user
        -  common
    -  **handling**: accumulated from all levels in precedence order
    -  **default location**: <project>/.dvt/log_styles.xml

-  **Custom Pragmas**
    -  **file name**: custom_pragmas.xml
    -  **description**: used to create :ref:`Custom Pragmas`
    -  **precedence**:

        -  project
        -  user
        -  common
    -  **handling**: accumulated from all levels in precedence order
    -  **default location**: <project>/.dvt/custom_pragmas.xml
