terminal: Bug Report: `defaultProfile` in `profiles.json` is ignored

Environment

Platform ServicePack Version      VersionString
-------- ----------- -------      -------------
 Win32NT             10.0.18980.0 Microsoft Windows NT 10.0.18980.0


Windows Terminal (Preview)
Version: 0.5.2661.0

Steps to reproduce

  1. Open profiles.json (e.g. via Ctrl+,)
  2. Change "defaultProfiles" to the GUID of something which is not Windows Powershell for example the much more reasonable Powershell Core
  3. Windows Powershell is still the default

(extra: If the Windows Powershell is hidden then the “Cannot find default profile warning is shown”)

Expected behavior

Uses the specified profile as the default profile.

Actual behavior

Keeps using the default profile specified in the defaults.json

My profile.json:

// To view the default settings, hold "alt" while clicking on the "Settings" button.
// For documentation on these settings, see: https://aka.ms/terminal-documentation

{
  "$schema": "https://aka.ms/terminal-profiles-schema",

  "defaultProfile": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",

  "profiles": [
    {
      "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
      "hidden": false,
      "name": "PowerShell Core",
      "source": "Windows.Terminal.PowershellCore",
      "fontFace": "Fira Code",
      "fontSize": 10
    },
    {
      // Make changes here to the powershell.exe profile
      "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
      "name": "Windows PowerShell",
      "commandline": "powershell.exe",
      "hidden": false,
      "fontFace": "Fira Code"
    },
    {
      // Make changes here to the cmd.exe profile
      "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
      "name": "cmd",
      "commandline": "cmd.exe",
      "hidden": false,
      "fontFace": "Fira Code"
    },

    {
      "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
      "hidden": false,
      "name": "Azure Cloud Shell",
      "source": "Windows.Terminal.Azure",
      "fontFace": "Fira Code"
    }
  ],

  // Add custom color schemes to this array
  "schemes": [],

  // Add any keybinding overrides to this array.
  // To unbind a default keybinding, set the command to "unbound"
  "keybindings": [],

  "globals": {
    "requestedTheme": "system",
    "copyOnSelect": true
  }
}

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 3
  • Comments: 32 (18 by maintainers)

Most upvoted comments

Actually just moving defaultProfile into the globals section solves it. It just seems that the default generated config has a top-level defaultProfile key which is ignored.

ah this is the mysterious globals object problem.

If you remove the “globals” object, and just add those keys to the root of the json object, does it work?

@DHowett-MSFT There’s a dupe for this somewhere, right? Should we just layer the globals sub-object if we find that too?