Vscode: Allow multiple views to show at the same time

Created on 17 May 2017  ·  56Comments  ·  Source: microsoft/vscode

Would be nice to be able to have both a left and right sidebar i,e file tree in left and VSC in right.

Kinda vibing off the multi panel layout of atom with github / git integration

Something like this

lol screen shot 2017-05-17 at 10 19 26 copy

feature-request layout workbench-views

Most helpful comment

Everybody, who adds redundant +1 comments. Please don't.

This will lead only to other people will unsubscribe from this and/or this issue will be locked out from comments. Both things are bad for the further development of this issue.

Please, consider adding :+1: to the original description. Just click the icon.

Thank you!

All 56 comments

I was going to open an issue for that. It would be very handy multiple sidebars for the Code Outline extension.

Perhaps this is issue is related to #15038

Multi-sidebar setups would be awesome, especially now with the Code Outline and GitLens 5.0+ Extensions!

Was just wishing for the same :)

+1

While I'd like to see two sidebars, I would like much more a tiled window manager like in Eclipse IDE.

+1

I want this because I want some panes on a right sidebar and the rest on the left sidebar...
image
It's hard to see the code outline while also navigating my file tree.

Going to post my mockup from https://github.com/Microsoft/vscode/issues/45283 as well:

group

+1

+1

+1

+1

+1

Everybody, who adds redundant +1 comments. Please don't.

This will lead only to other people will unsubscribe from this and/or this issue will be locked out from comments. Both things are bad for the further development of this issue.

Please, consider adding :+1: to the original description. Just click the icon.

Thank you!

Hi there, I was just wondering, are there any (distant) plans on implementing this?

Giving that extensions now can create its own buttons and explorer panel, this would be a big deal for us as users.

I think 4+ viewlet icons on the left(or right if configured) is what gives vscode the "Iconic" look. Even if two viewlets are enabled, one on left another on right, I think only one side should have the icons. The other side can have text only vertical tabs. And then it can be configurable to enable icons on both side, or text on both side.

Any progress on that? Generalizing the great new grid layout to manage all components, including viewlets, is the one thing I am really missing on VSCode. File and code browsing, git, debugging - all would be much easier without having to switch the viewlets every time. I strongly suggest looking at Atom as inspiration. It's nearly perfect.

As #49755 has been closed for being a duplicate, which isn't, we may need to discuss first if we should introduce a second activity bar.

The activity bar is the column of icons, shown at the left of the sidebar by default.

I suggest to introduce a second activity bar. Icons in the activity bar are already movable by the user. We can allow the user to move icons to the second activity bar on the right, which can become visible while holding an icon (keeping the mouse button pressed). Each clicked icon can show up in its respective sidebar. So clicking an icon in the left activity bar will open the element in the left sidebar; clicking an icon in the right activity bar will open the element in the right sidebar.

Both the right sidebar and activity bar could be hidden by default, only showing up while moving icons to not force the user to use it and reduce clutter.

What do you think?

+1

I think the activity bar should only be on the left. That way you can select a context menu option to open the view on the right side.

@nealot That is an interesting suggestion. Could work and would be flexible if you want to have the views on different sides often. But I can also imagine that users might not even try right-clicking the icons. Or me just clicking on it, without thinking about the mouse button I should press. Touch users might need another way to open it on the right side as well.

@gersilex

But I can also imagine that users might not even try right-clicking the icons. Or me just clicking on it, without thinking about the mouse button I should press.

Currently, to hide an activity bar icon you must use the context menu -- why would this action be any different? Although I do think this should be supplemented by a drag-and-drop functionality.

Touch users might need another way to open it on the right side as well.

As I mentioned above, I think drag-and-drop would be beneficial here. I use a touchscreen and while the context menus aren't unusable, they are difficult to work with.

Having two activity bars not only looks pretty uncomfortable, but it also wastes a lot of screen space; I'm completely against the idea of enabling it by default. If you meant for the second bar to be an option in the settings, however, then I would wonder why that path is any less cumbersome then using the context menu.

On another note, how would the keyboard commands for this look like?

@nealot

this should be supplemented by a drag-and-drop functionality
Completely agree here.

Currently, to hide an activity bar icon you must use the context menu
I think I misunderstood your first comment. I thought you wanted the view to open instantly, without showing a context menu. The idea with the context menu sounds good, though.

So we would add another entry to the context menu of the icons. Should the entry be for toggling the location (like Pin to right activity bar)? That sounds good to me.

Talking about drag-and-drop. We could also just drag the view to the right and display the right sidebar. This would comply with the look-and-feel of the editor windows and the grid. Maybe we can do both.

I do not insist in using a second activity bar at all. You got a strong point there and I agree that we should not introduce a second activity bar.

@gersilex My bad, I should have worded my original comment better. I like your idea about toggling the position.

Maybe we could do something like this:

  1. User right clicks on an icon
  2. Selects context menu option Pin to right
  3. Clicking on the icon from that point on opens it
  4. Option changes to Pin to left

Also related (I think?): https://github.com/Microsoft/vscode/issues/50853

Hi there, is there any development going on in this area? Perhaps there is a similar feature already being worked on? If that is the case I would appreciate if someone could provided related tickets pleae. From the UI point of view this is the biggest issue for me right now.

Code Outline really needs it's own window. Having Explorer and Outline open at the same time is really the best way to navigate Quick in the Code. I would even say, drop the minimap and put the outline there (or on the left side ;-)
Since a few years, the most common screen format is 16:9 with more horizontal space than vertical space, but source code did not grow horizontal, so more screen space is wasted with a lot of whitespace on the right side of the editor.

Curious what the status of this is. It seems really overly opinionated to force all of these elements into one pane. IntelliJ handles this much better, modularizing each component into its own pane that can be moved wherever.

@bpasero do you guys have any plans for this?

Adding my desire for this feature, I'm trying to use vs-code in a vertical monitor setup, and it would be neat to have the freedom to stack the panel, activity bar, and view (sidebar?) on the bottom of the screen. This would give me all of the horizontal space for editing, and move all of the "extra" stuff above or below. Obviously not all of the views will behave as well/effectively in a short and wide widget, but that's my problem to deal with I think :P

@matthewess I wouldn't hold my breath. They have loads of other requests and bugs to fix and perhaps this one would require quite a lot of work. However, we don't know any of it for sure as there has been a dead silence from the devs about it. If I am not mistaken there isn't a single comment from any VSC developer since when the request was created, which is over 2 years ago. The best thing you can do is to upvote the request and perhaps ask other developers that would care about it, to do so as well.

@RMacfarlane and other VSCode devs,

Any chance we might see support soon for dual sidebars and/or floating windows #10121?
Can this be prioritized?

Dual sidebars already has 325 votes already and the related floating windows request has 2906 votes + 364 comments (and would have even more if hadn't been locked almost a year ago), demonstrating a major need for this.

This would make a huge difference in making VSCode a competitive alternative to Visual Studio in terms of usability. As it stands now, I either have to switch back and forth frequently (for bookmarks, code outline, files view, etc.) or end up with a very cramped and unusable sidebar with all the groups shown there at the same time, considering lack of support for moveable docked panels.

Also, without this, I can't even stretch the window across multiple monitors as a workaround to make use of multiple monitors.
Would this be easier or more difficult to do than floating windows for #10121?

Is there any workaround now to at least undock panels to actually make use of multiple screens? Is it technically possible for extensions to implement their own hard-coded support for showing tools outside of the one docked sidebar, eg. in their own window, and if so, any extensions that make use of that?

Duplicating Workspace isn't really a feasible alternative, as tools fail to sync up with any unsaved edits, so clicking on bookmarks/members in tools like Code Outline, Bookmarks/Favorites, etc. would fail to open in the window used for code editing (vs. the window used just to display another tool panel, eg. on 2nd monitor) and wouldn't show outline that matches the currently edited file (unless you save before each secondary tool panel window use).

There are far too many views and tools needed to be limited to just one sidebar, and one tool/view at a time. With Visual Studio I often have a dozen different tool windows shown, across 3 monitors.

Whereas, with VSCode as it is now, I'm limited to one single tool window and essentially just 1 monitor (as there would be little benefit to stretching across multiple ones).

VSCode doesn't even support showing as many panels at the same time as is often needed even for basic VBA coding in VBE with its ancient version of Visual Studio.

Our roadmap for the year is here: https://github.com/microsoft/vscode/wiki/Roadmap

Workbench layout
Support for detachable workbench parts is our most upvoted feature request which due to architectural issues is challenging to implement. We will explore how we can work around this limitation. This investigation will focus on detaching terminals (2nd most upvoted feature request) and editors.

Specifically regarding the sidebar, this is what I would like to achieve:

image

Specifically regarding the sidebar, this is what I would like to achieve:

image

YES! I'd like to be able to do that as well.

I miss this for debugging. I have a very wide monitor, but not so high (5120x1440). However I can't double up the debug sidebar, needing constant scrolling and most of my screen space just being wasted. And I'm not even having to look at registers right now, which by itself fills the entire height of my screen. I easily would have the real estate for 10 sidebars, but I can't reorganize anything other than collapsing things.

I would like to also point that users who use monitor in portrait mode (vertical), would also benefit from a "Sidebar" that is not on the side (as space to the side is limited), but instead being able to configure sidebar to open top or bottom (a.k.a., splitting the editor and the sidebar vertically). When I have to make a complex search or debug, I have to change vscode to a landscape monitor, and when done, move it back to the portrait monitor. I understand that detachable windows for sidebar is complex to implement, but perhaps this here would be easier in the short term.

I very happily using and loving Intellij's approach of preserving the core of your perspective whether you are writing, analyzing, or debugging. I cannot really achieve that without multiple sidebars at the moment. Having to switch between explorer, tools, and debugging info is a real pain.

Intellij is an IDE. This is a text editor. That's like comparing a Chevy and a Mustang because you can take a ride in both.

But Atom has the feature, and it's also just a text editor.


From: Michael De Abreu notifications@github.com
Sent: Thursday, April 2, 2020 1:28:25 PM
To: microsoft/vscode vscode@noreply.github.com
Cc: b-fuze b-fuze.root@live.com; Comment comment@noreply.github.com
Subject: Re: [microsoft/vscode] Allow multiple views to show at the same time (#26777)

Intellij is an IDE. This is a text editor. That's like comparing a Chevy and a Mustang because you can take a ride in both.


You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/vscode/issues/26777#issuecomment-607985051, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACQEV7PY2T43BFI3KMSXYDDRKTDLTANCNFSM4DLUT4IA.

As I already mentioned in #92786 (comment), another good inspiration is Theia, which uses the same concept and extensions as VSC.

Intellij is an IDE. This is a text editor. That's like comparing a Chevy and a Mustang because you can take a ride in both.

The same killer argument as always. Please draw the line between an IDE and an editor, especially when it comes to the UI. What is missing to make VSC a "real" grown up IDE? Maybe we should apply duck typing for the definition of IDEs and editors.

Thea looks interesting.

@bpasero, @sbatten
https://github.com/Microsoft/vscode/issues/10121#issuecomment-345497635

About "isolated context" and Electron...
Just add a one new panel, "additional panel" (for example) and add item "move to Additional panel" to the "right-click" menu, such as already implemented "move to Panel" for "outline", "variables" and others (workbench.action.moveFocusedView and others, couldn't find a link to the function's implementation, but I hope you'll understand).

In this case, it doesn't require to share the same memory to the "main" window.
It's lightweight.

p.s. Everyone will be happy, especially the users of the wide and two monitors.

And yes, thank you for your work!

Will this be added? If so, any eta?

Perhaps we need a new widget/component/control to this. Visual Studio essentially uses the TableLayoutPanel from .NET. It might be worth the effort to port that over to Web.

If you need UI guidance, you can look at Visual Studio: collapsed

expanded

Funny.
Just had an ear-bashing from a colleague about browser based apps being the way of the future.
I'm slightly dubious since they seem unable to cope with bleeding edge UI features like dockable windows and toolbars?

I miss having everything in one view. In Atom you can open files, edit them, and commit changes, without switching to different views. That workflow is way more superior to what vscode offers when you need to make small changes that require frequent commits.

This is certainly the missing link to making VSCode feel less like a toy and more like a grown up editor.

VS Studio, Unity, ItelliJ all allow you do dock multiple panels, in any configuration you need, customizing your workspace and use the full size of your display.

Working on VSCode on an Ultra-wide feels a bit silly with one small 400px menu hiding 8 pages of data, and no way to view more than one at a time. Even with a simulator running, I have ample room for 2 more columns.

It's a shame, because other than this one major flaw, it's really an excellent IDE.

Yes I really want this... I really want to have the option to put say the debugger on the right side visible all the time rather than having to switch view.

At least, the sidebar is mentioned in the "Workbench-Roadmap" for 2020: https://github.com/microsoft/vscode/wiki/Roadmap#workbench

Support a more flexible workbench layout such as allow sidebars on the left and the right. For example, you could have your outline on the right and the file explorer on the left.

I'm brand new to VS Code, so forgive if the following has misperceptions (if it does, please feel free to correct me).

The first thing I wanted to after about 10 minutes of using VS Code (and being very impressed) was the capability to open another sidebar. So I searched the internet and found this request.... asking for two sidebars. And while that would be far better than one, I'm not sure why it should be limited to just two.

Indeed, in Visual Studio or most any other IDE you can have any view opened and docked somewhere. But in VS Code, many views seemed to be limited to the sidebar, of which there is only one. So I can't, for instance, have search results and the explorer open at the same time. I'm not sure why we wouldn't want to be able to do that in VS Code - that is, to be able to dock any view anywhere we want.

Specifically regarding the sidebar, this is what I would like to achieve:

image

This is really what I would like to see, too. But I also want to mention that the File Explorer (first icon) has several sub sections like Open Editors and Outline. This is the reason why it's important to be able to open the File Explorer on both sides instead of moving it. So your consideration is right, because it allows to show all files on the left and the outline on the right, which is what I am after.

code outline is hard to use right now...

.@mjbvz: would this be possible for the sidebars with your new api described in #46585

Maybe it's time to include this improvement in the road map?
Please :)

Yes please!

Was this page helpful?
0 / 5 - 0 ratings