Repository navigation
Closed
Labels
Area-SettingsIssues related to settings and customizability, for console or terminalIssues related to settings and customizability, for console or terminalArea-UserInterfaceIssues pertaining to the user interface of the Console or TerminalIssues pertaining to the user interface of the Console or TerminalIn-PRThis issue has a related PRThis issue has a related PRIssue-FeatureComplex enough to require an in depth planning process and actual budgeted, scheduled work.Complex enough to require an in depth planning process and actual budgeted, scheduled work.Needs-Tag-FixDoesn't match tag requirementsDoesn't match tag requirementsProduct-TerminalThe new Windows Terminal.The new Windows Terminal.
Milestone
Description
Description of the new feature/enhancement
The ability to save a tab with panes as a profile, or specify in a profile the panes to open when you open that profile.
I Have 6 projects I work on, on a daily basis at work, so I come in, open up ConEmu, and it opens a tab with 6 panes each set to a different git directory. Then I begin working.
So I want to make a project profile which opens up that setup.
Currently being able to make panes is awesome, but I don't want to set it up every time I accidentally close the terminal or I reboot my computer.
(I hope this matches the requirement of the template)
Reacted by Mordechai Zuber, Khalid Abuhakmeh, pok, mrboring, Bart Smits, Audun Solemdal, zboro, Shreedhar Kotekar, Hans-Petter Eitvet, Anthony Vanelverdinghe and 68 more
Reacted by Samuel Côté, S V, Baldhat, Adriano Cahete, Arpit R, Alena, Alexandros, AndreasGronlund, Giorgio, Julien Giovinazzo and 1 more
Metadata
Metadata
Assignees
Labels
Area-SettingsIssues related to settings and customizability, for console or terminalIssues related to settings and customizability, for console or terminalArea-UserInterfaceIssues pertaining to the user interface of the Console or TerminalIssues pertaining to the user interface of the Console or TerminalIn-PRThis issue has a related PRThis issue has a related PRIssue-FeatureComplex enough to require an in depth planning process and actual budgeted, scheduled work.Complex enough to require an in depth planning process and actual budgeted, scheduled work.Needs-Tag-FixDoesn't match tag requirementsDoesn't match tag requirementsProduct-TerminalThe new Windows Terminal.The new Windows Terminal.



Activity
shreedhark commentedon Jan 16, 2020
I have similar needs too. Having able to define a profile with multiple panes, their layout and the profile to load in each pane would be really helpful.
This is probably the last thing stopping to switch from ConEmu.
SergioLuis commentedon May 20, 2020
I'd love to see this implemented. I was just looking for it in the 1.0 release, in case I missed it.
JasonWThompson commentedon Aug 27, 2020
I would like for this feature to allow the user to configure multiple sub profiles within a profile. I have a test environment which composes of four hosts. I'd like to set up a profile that SSH into all of the hosts in different panes.
ali-hk commentedon Sep 27, 2020
There are a few ways this could be achieved:
splitPaneaction. By separating the concept of layouts from profiles, profiles can easily be used in this way without ambiguous or confusing cases.zadjii-msft commentedon Oct 1, 2020
That's a great writeup Ali Hosseini Khayat (@ali-hk). I think this thread needs to be better linked up to #1571, because I've been doing most of the planning for this feature in that thread unfortunately.
I think the plan of record right now is to have the user be able to specify arbitrary actions in the new tab dropdown. This will let the user set something like
Which would create an entry in the new tab menu which would create two new splits, with cmd and PowerShell. In the future, this might be a bit more ergonomic (rather than using the
wtcommandline args), but this'll work for now.Right now, I do something similar to create a command in the command palette that opens a bunch of tabs and splits for me:
{ "command": { "action": "wt", "commandline": "new-tab --title OpenConsole cmd.exe /k #work 15 ; split-pane --title OpenConsole cmd.exe /k #work 15 ; split-pane -H cmd.exe /k media-commandline ; new-tab --title \"Symbols Script\" powershell dev\\symbols.ps1 ; new-tab -p \"Ubuntu 18.04\" ; new-tab -p \"microsoft/Terminal\" ; sp -V -p \"microsoft/Terminal\" ; sp -H -p \"microsoft/Terminal\" ; focus-tab -t 0" }, "name": "Good Morning" },reginbald commentedon Oct 22, 2020
12 remaining items
ScottBeeson commentedon Jan 23, 2023
This is just about the only thing keeping me from switching away from Cmder/ConEmu. Personally, I'd just like a "Save as profile" option.
zadjii-msft commentedon Jan 23, 2023
FWIW, you can do something similar today with the Command Palette and the
multipleActionsaction. It won't be able to appear in the new tab dropdown till we complete this issue, but the Command Palette is arguably a better UI 😉From the docs:
Run multiple actions
This action allows the user to bind multiple sequential actions to one command.
Command name:
multipleActionsParameters
actionsactionto run.Example
{ "name": "Create My Layout", "command": { "action": "multipleActions", "actions": [ // Create a new tab with 3 panes { "action": "newTab", "tabTitle": "Work", "colorScheme": "One Half Dark" }, { "action": "splitPane", "split": "vertical", "profile": "Windows PowerShell", "tabTitle": "Work", "colorScheme": "Campbell Powershell", }, { "action": "splitPane", "split": "horizontal", "profile": "Windows PowerShell", "tabTitle": "Work", "colorScheme": "Campbell Powershell", }, // Create a second tab { "action": "newTab", "tabTitle": "Misc"}, // Go back to the first tab and zoom the first pane { "action": "prevTab", "tabSwitcherMode": "disabled" }, { "action": "moveFocus", "direction": "first"}, "togglePaneZoom" ] }}fomrat commentedon May 25, 2023
Does "It won't be able to appear in the new tab dropdown till we complete this issue" mean that adding a multipleActions to my settings.json will have no effect right now, or can I execure it even if it dpesn't appear in the new tab dropdown?
AdrianoCahete commentedon Jan 30, 2024
Edit:
Update 2026-02-05
As today, with Terminal Preview v1.24.10212.0 (idk if this feature is older than that), you can change the
splitMode. Then, just put as duplicate and the pane will be duplicated based on the first one. Moving the cursor back to first panel is the same as before.Original post:
Today, with
1.19.3172.0I get this exactly layout with multipleActions setting, as said before:To help me with command palette, I changed it to F1:
startupActionsis not working for me with the setup, but command palette +multipleActionsalready helps me.fomrat commentedon Jan 30, 2024
Are you nesting your actions block ("Development") within the context of the overall "actions" array? I'm still getting an "Incorrect type. Expected "object"." on the bracket in:
"action": "multipleActions",
"actions": [
zadjii-msft commentedon Jan 30, 2024
That's bizarre. That should absolutely work. Which version are you on? By all accounts, the json above should just work...
fomrat commentedon Jan 30, 2024
I agree that it's bizarre ;-)
Version 1.19.3172.0.
zadjii-msft commentedon Jan 30, 2024
Oh, it's just the schema that's wrong? That's not the end of the world - the terminal should still work, even if VsCode complains. The schema has always been more of "guidelines" than actual rules.
terminal/doc/cascadia/profiles.schema.json
Lines 1490 to 1511 in a2bb313
I can't say I know enough about json schema rules to understand why that doesn't work though
fomrat commentedon Jan 30, 2024
Gee, who'd've thought of actually trying it to see if it works? :-o
I (mistakenly) assumed that if I got squigglies in Code, there was something wrong. Needless to say, the command -- as you suggested -- works just fine.

AdrianoCahete commentedon Jan 30, 2024
Tried some other settings and, if I make something wrong, Terminal will warn me and does not load the config file, so seems to be an "error-free zone".
Tip: If you want to load other profiles, like a WSL on the right side and PowerShell on the left, just change the
profilekey to match thenamekey of one of your profile on the list below (normally).fomrat commentedon Jan 30, 2024
Thanks. That was the idea. I have a terminal I open to four boxes (Fedora, Arch, Ubuntu, Raspbian) for demonstrations. I was tired of splitting manually ;-)
Allow actions in the new tab dropdown (#17281)