TDS has a feature named [**Global Config File**](https://www.hhogdev.com/help/tds/globalconfig) that allows you to define the value of any TDS project setting in a centralized manner.

# Setting up the `TdsGlobal.config`

To start using this feature, right click on the solution and click "Add Global TDS Config file":

[![Add Global TDS Config file][1]][1]

TDS will add a new folder to your solution, containing the file `TdsGlobal.config`:

[![TdsGlobal.config][2]][2]

In this file, you will be able to set global settings that will be applied for all TDS projects in your solution. You can also set settings per build configuration. So, for example, release settings can be different from debug settings.

# User configuration

You can create user settings both for TDS project files (e.g. `SomeProject.scproj.user`) and for the global config file (`TdsGlobal.config.user`). The order of precedence is the following:

1. `TdsGlobal.config.user`
1. `SomeProject.scproj.user`
1. `TdsGlobal.config`
1. `SomeProject.scproj`

So if a setting was defined in `TdsGlobal.config`, its value can still be overridden on project level (`SomeProject.scproj.user`), which in turn can be overridden by `TdsGlobal.config.user`.

# Format of TDS settings

The format of `TdsGlobal.config` matches that of TDS project files. So if you are wondering what the allowed values are for some of the settings, you can first apply the desired setting value in a single project, then open the corresponding `.scproj` file and see the value there.

For example:

[![Recursive deploy action][3]][3]

This setting in the UI will be saved as the following XML node:

    <RecursiveDeployAction>SitecoreRecycle</RecursiveDeployAction>

# List of available settings

* `PackageAuthor`
* `PackagePublisher`
* `PackageVersion`
* `PackageReadme`
* `SitecoreAssemblyPath`
* `GeneratePackage`
* `SeperateFilesAndItems`
* `PackageExcludeCode`
* `AddDateTimeToPackageName`
* `SitecoreWebUrl`
* `SitecoreDeployFolder`
* `RecursiveDeployAction`
* `InstallSitecoreConnector`
* `SitecoreAccessGuid`
* `DisableFileDeployment`
* `NuGetGenerateNuGetPackage`
* `NuGetExePath`
* `NuGetSummary`
* `NuGetDescription`
* `NuGetTitle`
* `NuGetVersion`
* `NuGetPackageId`
* `NuGetAuthors`
* `NuGetProjectUrl`
* `NuGetTags`
* `NuGetRequireLicenseAcceptance`
* `NuGetReleaseNotes`
* `NuGetLanguage`
* `NuGetOwners`
* `NuGetCopyright`
* `NuGetLicenseUrl`
* `NuGetIconUrl`
* `NuGetDependencies`
* `EnableValidations`
* `ValidationSettingsFilePath` 


  [1]: https://i.sstatic.net/rSxgv.png
  [2]: https://i.sstatic.net/1kxzw.png
  [3]: https://i.sstatic.net/t6lVn.png