microsoft / terminal

The new Windows Terminal and the original Windows console host, all in the same place!
MIT License
95.94k stars 8.35k forks source link

Why so many duplicate shell tab #9471

Closed i-curve closed 3 years ago

i-curve commented 3 years ago

Description

like this: image

And I can't delete the superfluous.

image When I try to delete it in "setting.json", The corresponding information will be added automatically

Proposed technical implementation details (optional)

Because it looks so ugly, I'd like to delete the superfluous

DHowett commented 3 years ago

Hm. Can you share your settings.json file? Thanks.

i-curve commented 3 years ago

setting.json file:

{
    "$schema": "https://aka.ms/terminal-profiles-schema",
    // Add custom actions and keybindings to this array.
    // To unbind a key combination from your defaults.json, set the command to "unbound".
    // To learn more about actions and keybindings, visit https://aka.ms/terminal-keybindings
    "actions": 
    [
        // Copy and paste are bound to Ctrl+Shift+C and Ctrl+Shift+V in your defaults.json.
        // These two lines additionally bind them to Ctrl+C and Ctrl+V.
        // To learn more about selection, visit https://aka.ms/terminal-selection
        {
            "command": 
            {
                "action": "copy",
                "singleLine": false
            },
            "keys": "ctrl+c"
        },
        {
            "command": "paste",
            "keys": "ctrl+v"
        },
        // Press Ctrl+Shift+F to open the search box
        {
            "command": "find",
            "keys": "ctrl+shift+f"
        },
        // Press Alt+Shift+D to open a new pane.
        // - "split": "auto" makes this pane open in the direction that provides the most surface area.
        // - "splitMode": "duplicate" makes the new pane use the focused pane's profile.
        // To learn more about panes, visit https://aka.ms/terminal-panes
        {
            "command": 
            {
                "action": "splitPane",
                "split": "auto",
                "splitMode": "duplicate"
            },
            "keys": "alt+shift+d"
        }
    ],
    "alwaysOnTop": false,
    "alwaysShowTabs": true,
    "copyFormatting": "none",
    "copyOnSelect": false,
    "defaultProfile": "{e72abb56-ab17-50cf-9780-9bbd9b2b850c}",
    "experimental.rendering.forceFullRepaint": true,
    "experimental.rendering.software": true,
    "initialCols": 100,
    "initialRows": 25,
    "profiles": 
    {
        "defaults": 
        {
            "acrylicOpacity": 0.75,
            "backgroundImage": null,
            "closeOnExit": "graceful",
            "colorScheme": "Flat UI Palette v1 Modified",
            "commandline": "powershell.exe",
            "cursorColor": "#657B83",
            "cursorShape": "bar",
            "fontFace": "Sarasa Fixed J",
            "fontSize": 12,
            "historySize": 9001,
            "icon": "C:\\Users\\curve\\Pictures\\Windows\u805a\u7126\u58c1\u7eb8\\RE3qWoy_1920x1080.jpg",
            "name": "PowerShell",
            "padding": "10, 10, 10, 10",
            "snapOnInput": true,
            "startingDirectory": "F:\\desktop",
            "suppressApplicationTitle": true,
            "useAcrylic": true
        },
        "list": 
        [
            {
                "guid": "{e72abb56-ab17-50cf-9780-9bbd9b2b850c}",
                "hidden": false,
                "name": "PS1"
            },
            {
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "hidden": false,
                "name": "Azure",
                "source": "Windows.Terminal.Azure"
            },
            {
                "guid": "{46ca431a-3a87-5fb3-83cd-11ececc031d2}",
                "hidden": false,
                "name": "Wsl",
                "source": "Windows.Terminal.Wsl"
            },
            {
                "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
                "hidden": false,
                "name": "PS2",
                "source": "Windows.Terminal.Wsl"
            }
        ]
    }
}
DHowett commented 3 years ago

You have "name: powershell" in your defaults section. You have set the default name for every profile to be "PowerShell"... This means that every profile will be named "PowerShell".

jdebp commented 3 years ago

That does not explain why there are 4 profiles in the settings and 6 entries in the menu, though.

DHowett commented 3 years ago

Kind-of. There’s another settings file that produces profiles that are getting their names overridden. It’s not a model that has worked well for us (for discoverability reasons,) but it does ensure that users always have at least Command Prompt and Windows PowerShell.

ideally, we would replace those with dynamic profile generators and allow folks to delete them.

right now, the best solution (and the one most liable to work) is to hide them with hidden: true