Skip to content

Configuration Guide Json

blake-goofy edited this page Jun 16, 2026 · 1 revision

The JSON configuration file is located at:

%USERPROFILE%\Documents\SSMS EnvTabs\TabGroupConfig.json

Most users should start with the UI guide: Configuration Guide. Use this page when editing JSON directly through Open JSON or a text editor.

Structure

{
  "description": "Configuration for SSMS EnvTabs.",
  "help": "https://github.com/Blake-goofy/SSMS-EnvTabs/wiki/Configuration-Guide",
  "version": "2.2.5",
  "settings": {},
  "manualRegexLines": null,
  "serverAlias": {},
  "connectionGroups": []
}

Settings

Setting Type Description
enableLogging Bool Writes runtime log entries.
enableVerboseLogging Bool Writes extra detail for troubleshooting. The UI logging switch enables both logging settings together.
enableAutoRename Bool Renames matching query tabs using the configured style templates.
enableAutoColor Bool Writes SSMS regex tab-color configuration so matching groups are colored.
enableConfigurePrompt Bool Shows the new-connection configure prompt when autoConfigure creates a rule.
enableConnectionPolling Bool Polls SSMS for connection changes so tabs update after connection/database changes. Advanced setting; not exposed in the current UI.
enableColorWarning Bool Warns when a color is already assigned to another group. Advanced setting; see Configuration Prompts.
enableServerAliasPrompt Bool Prompts to add a friendly alias when a server has no alias configured.
enableUpdateChecks Bool Checks GitHub Releases for new versions when SSMS launches.
autoConfigure String Rule creation mode: "server", "server db", or "off". Unknown values fall back to "server db".
suggestedGroupNameStyle String Format for auto-created group names. Supports [server], [serverAlias], [db].
newQueryRenameStyle String Format for new/unsaved query tabs. Supports [filename], [groupName], [server], [serverAlias], [db], [#].
savedFileRenameStyle String Format for saved files and manually renamed tabs. Supports [filename], [groupName], [server], [serverAlias], [db], [#].
enableRemoveDotSql Bool Removes a trailing .sql from captions and from [filename] when possible.
initialLineIndicatorColor Bool Default value for enableLineIndicatorColor on newly created connection groups.
initialStatusBarColor Bool Default value for enableStatusBarColor on newly created connection groups.

Rename Tokens

Token Meaning
[filename] Query/file name. For saved files this comes from the file path; for new queries it comes from the captured SSMS caption.
[groupName] Name of the matched connection group.
[server] Connected server name as SSMS reports it.
[serverAlias] Alias from serverAlias; falls back to [server] when no alias exists.
[db] Connected database name.
[#] Per-group query index while tabs are open.

suggestedGroupNameStyle only supports [server], [serverAlias], and [db].

Server Aliases

serverAlias is an object where each key is the real server name and each value is the friendly name.

{
  "serverAlias": {
    "(localdb)\\MSSQLLocalDB": "Local",
    "MY-APP-SERVER": "AppServer"
  }
}

Aliases affect [serverAlias] in style templates and suggested group names. When an alias changes, EnvTabs can update group names that were generated from the suggested group-name style.

Connection Groups

connectionGroups contains server/database matching rules.

Field Type Description
groupName String or null Name used by [groupName]. null creates a silent rule that suppresses future prompts without renaming or coloring.
server String or null Exact server name or % wildcard pattern.
database String or null Exact database name or % wildcard pattern.
priority Number Lower numbers match first.
colorIndex Number or null Color index 0-15, or null for no tab color. See Color Reference.
enableLineIndicatorColor Bool or null Per-group override for the editor line indicator color. null falls back to initialLineIndicatorColor.
enableStatusBarColor Bool or null Per-group override for the SSMS status bar color. null falls back to initialStatusBarColor.

Example:

{
  "connectionGroups": [
    {
      "groupName": "Local master",
      "server": "(localdb)\\MSSQLLocalDB",
      "database": "master",
      "priority": 10,
      "colorIndex": 0,
      "enableLineIndicatorColor": true,
      "enableStatusBarColor": true
    }
  ]
}

Matching notes:

  • server and database are case-insensitive.
  • % works as a wildcard, as in SQL LIKE patterns. See Wildcard Patterns.
  • A rule must have at least server or database.
  • The first matching rule wins after sorting by priority, then groupName.

Manual Regex Lines

manualRegexLines is for file/path-based matching instead of connection-based matching. Use it when a saved script should be grouped by its path or file name. See Manual Regex.

{
  "manualRegexLines": [
    {
      "groupName": "Deploy Scripts",
      "pattern": ".*\\\\Deploy\\\\.*\\.sql$",
      "priority": 20,
      "colorIndex": 6
    }
  ]
}

Complete Example

{
  "settings": {
    "enableLogging": false,
    "enableVerboseLogging": false,
    "enableAutoRename": true,
    "enableAutoColor": true,
    "enableConfigurePrompt": true,
    "enableConnectionPolling": true,
    "enableColorWarning": true,
    "enableServerAliasPrompt": true,
    "enableUpdateChecks": true,
    "autoConfigure": "server db",
    "suggestedGroupNameStyle": "[serverAlias] [db]",
    "newQueryRenameStyle": "[#]. [groupName]",
    "savedFileRenameStyle": "[filename]",
    "enableRemoveDotSql": true,
    "initialLineIndicatorColor": true,
    "initialStatusBarColor": true
  },
  "serverAlias": {
    "(localdb)\\MSSQLLocalDB": "Local"
  },
  "connectionGroups": [
    {
      "groupName": "Local master",
      "server": "(localdb)\\MSSQLLocalDB",
      "database": "master",
      "priority": 10,
      "colorIndex": 0,
      "enableLineIndicatorColor": true,
      "enableStatusBarColor": true
    }
  ]
}

Clone this wiki locally