Support tabbed interface
Great to see some of these improvements, especially the cut/copy/paste keyboard shortcuts. However, I've been seeking for a way for the cmd window to have a tabbed interface for a while. So, for example, I can run a ping/tracert etc. in one tab, a chkdsk in another tab, and something else in a third, without having multiple windows open taking up screen real estate.
Also consider adding panes side-by-side within the console.
Valtteri Vuorikoski commented
Several people have suggested ConEmu, but I'd note that ConEmu (and ConsoleZ and similar applications) work by continuously polling the console buffer. ConEmu prioritizes performance and polls the foreground window at 60fps, while ConsoleZ polls far slower but feels a bit sluggish.
This pretty much prevents laptop processors from sleeping and kills battery life on "ultrabook" type machines. While the CPU use percentage as seen in Task Manager isn't that high, enabling the context switch delta column in Process Explorer or Process Hacker shows ConEmu causing thousands of context switches per second.
Therefore, improving conhost's interface is important. Of course it would be even better to have an official method for getting conhost's content without polling to allow alternate terminal apps to work more efficiently, but I guess this might go beyond the WSL team's mandate.
Brian Hirst commented
I would also include the ability for commands to be entered automatically into multiple tabs. As mentioned, copy/paste with keyboard, keyboard driven tab switching, and frankly, Properties could use a little modernizing.
Xeatheran Minexew commented
Note: you can have this today by using ConEmu
Gary Sieling commented
On the Mac, ITerm2 is a nice alternative to the screen / tmux, because it gives you a right click menu in the console that lets you split it vertically / horizontally.
Roy Tinker commented
Since WSL now supports 2-way invocation between Windows and ELF binaries, perhaps running multiple cmd.exe instances inside of tmux would accomplish this?
Scott Wade commented
Cmdr.net [ http://cmder.net/ ] has a great feature set that includes the ability to specify and/or configure what shell and config I want when opening up a new console tab. I would suggest Cmdr.net be a baseline feature set/configuration options that any new console functionality have
Aside, any/all advancements in this be the same and used as the console tab/window in Visual Studio Code
Clayton Dittman commented
You can just use the screen command to do this. It's really easy and the same thing really.
This isn't a feedback page for ConEmu. ConEmu having tabs does not preclude CMD from having the same feature. We want tabs in CMD.
There is already ConEmu. What's wrong with it?
Federico Ramírez commented
If it supports tmux, then I don't care about this feature.
Cory Calahan commented
Please make sure that PowerShell's interface is included as well as an additional entry was closed here: https://windowsserver.uservoice.com/forums/301869-powershell/suggestions/12844050-feature-request-provide-working-tabs-for-powershe?tracking_code=803f2fda167bc07ac11a1bd9ed20dcae
Would LOVE the console team to go to town on the mult-pane/tabbed interface and do something like this!!
It will be much more manageable if cmd support tabs. Just like the new editor Code we can make cmd single instance for better experience.
Daniel Watkins commented
And make the Screen Buffer Size Height value set to 32766 by default so we don't have to set it every time we open a cmd window! 300 lines of screen history is not enough!
I'm also looking for the option to attach a cmd window some other process started as a tab and detach of course.
Sometimes I have 4 cmd windows running applications that logs to the console and want to see the state of them in a grouped organized fashion in dynamic tiles of my choosing. Next to those I have cmd prompts for source control purposes in different paths.
Please make use of a frame with docking capabilities and draggable and resizeable so the user can create a layout.
It's a pretty common idea these days in IDEs.
Or use an OLE so the actual CMD window could be integrated in external apps like mremoteng or eclipse.
Here is how I'd do it.
Instead of squishing in tabs and multiple windows into cmd and then again doing the same work for powersehll all over again, why not let an independent procecess handle that part of user interaction.
So basic idea: When any one of the thus grouped cmd or powershell windows crashes, all the others remain unaffected. The presentation tool might even show some more or less helpful notification, when it looses contact to one of its shells.
If, on the other hand the presentation process dies, the shells themselves should simply keep running. (The user would not be able to interact with them or see their output for a few moments). If that happens simply after launching the presentation process again it should by default look for any orphaned running shells and present them to the user.
Later, when the basics are working add some nice features like grouping shell windows by "runs as administator" or "runs as user xy". All without compromising the speed and stability of the shell(s) itself.
I hear this one all the time... and I yearn for it as well. I find myself pressing Ctrl+T and Ctrl+W in pretty much every window I use. Thanks, browsers. :P
It's just one of the harder things to get right (either in this form, or the multiplexing form). If you've ever seen a sad tab in your favorite browser when some component crashes (or experienced the entire thing freezing up because one part misbehaved), that's most of what gives me trouble in thinking this one through.
There's a lot of good talk on this thread. Using hotkeys to switch tabs, blinking for succeeded/failed, tear away tabs... I'm taking notes.
I personally hope we get to this one day as well. :) --Michael
I do like the idea of a tab interface but I must say, after having heavy experience with the CLI on other platforms, I do not see why it should be a major priority. When I have used other platforms, despite having the ability to use tabs, I have never used them; I much more prefer using some thing like tmux. Okay, it may not be as easy to use as tabs - But we are Developers/Geeks and know how to learn to use the power (and efficiency) of the keyboard when we need to do so!
My main problem with tabs is the same thing that @Shaun mentioned for the opposite reason: "taking up screen real estate". In a program like tmux a single line is taken up at the bottom of the screen however normally typical tabs on a GUI are much taller than a typical size 16 (my preference) font (look at IE for example). Hence they take up much more of the screen and, to me, do not seem to be the best solution to that problem.
I am not against tabs, I just feel that a good multiplexer would be a much nicer alternative.
That said, I really do like what you guys are doing Microsoft Console Team! Finally windows will have a decent command line :)
Travis C Howard commented
I feel like what would make a great feature is, if tabs are implemented, they can flash different colors or provide from form of feedback about a running or finished command. Either give applications a way to return a "succeeded" or "failed" value with the errorlevel. Color the tab green for succeeded and red for failed and display the errorlevel in the tab title. This is just brainstorming, I'm sure the idea could be much improved but at the very least give us an indication that a command has finished... even if there are no tabs, flash the Window title and taskbar icon.