Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support a grid layout for editors #14909

Closed
Tekbr opened this issue Nov 3, 2016 · 191 comments
Closed

Support a grid layout for editors #14909

Tekbr opened this issue Nov 3, 2016 · 191 comments

Comments

@Tekbr
Copy link

@Tekbr Tekbr commented Nov 3, 2016

  • VSCode Version: Windows 10
  • OS Version: 1.7.0 - insider

-- Sorry for the English, I used Google Translator --

Leave even better drag and drop, detecting where we point out the window.(#224, #1749).

How does the Atom. I think it's more intuitive.

drag-drop-layout

@bpasero
Copy link
Member

@bpasero bpasero commented Nov 3, 2016

@Tekbr what is wrong with our approach?

editors

@Tekbr
Copy link
Author

@Tekbr Tekbr commented Nov 3, 2016

@bpasero I think it was not very clear. I'll try to explain better. Sorry for English

I enjoyed new in version 1.7, but it would be interesting to allow vertical and horizontal split at the same time.

As shown in the gif, three tabs. A vertical split, horizontal split at the same time.

Clicking a button (or use the shortcut) to change the orientation, it becomes a little boring.

Just as we drag the tab to the side it adjusts the window, dragging down, near the lower edge of this window to adjust, without the need to use "Toggle Editor Group Layout".

@bpasero bpasero changed the title Drag and drop layout Support a grid layout for editors Nov 4, 2016
@nambrot
Copy link

@nambrot nambrot commented Nov 10, 2016

I used the 👍 but wanted to provide verbal support for this usecase as well. I have a rather large monitor on which I use Sublime in a 2x3 grid which currently is not possible in VS Code as you have to choose between horizontal vs vertical.

@tomasiser
Copy link

@tomasiser tomasiser commented Nov 20, 2016

After finally implementing #1749, this is another needed step towards making the workbench as flexible as in other editors (Sublime Text, Atom, vim, Emacs, full Visual Studio - they all support grid layouts). Especially on larger screens, it is very useful to use 2×2 or 1+2 grid layouts. Some people with very large screens tend to use even more crazy layouts, which can be useful when working on projects that have multiple related files (e.g. header files in C++).

Grid layout

Would be very lovely to have something like this in VS Code!

@Shahor
Copy link

@Shahor Shahor commented Nov 30, 2016

I like to be able to split both vertically and horizontally and this is really missing here :(

Hopefully it will be implemented. This is the only major problem I have with vscode right now.

@mschwartz
Copy link

@mschwartz mschwartz commented Dec 28, 2016

+1

I use WebStorm over VS Code for three reasons:

  1. Can't split horizontally
  2. vim emulation is mediocre (but thanks anyway, it makes it usable at all)
  3. can't record keyboard macros

VS Code is really fast and I like that it's in JavaScript. It has soooo much potential. I'm sure it'll be my editor of choice when those things are implemented.

To be clear, here's a screenshot of WebStorm menu (what I mean by horizontal split):

image

@dgtlife
Copy link

@dgtlife dgtlife commented Dec 30, 2016

For me, Atom has it perfectly ... split up/down ... split left/right ... and you can end up with 4 quadrants, or 2 on the left and 1 on the right, or 1 on the left and 2 on the right, or even more if you like ... each with its own set of tabs. A newly opened file goes into the section with focus at the time of opening. I currently use all three cases on my 4K monitor.

@wclr
Copy link

@wclr wclr commented Jan 9, 2017

I wonder why it was not implement yet, or maybe VS team has some justifications against horizontal split?

@danwulff
Copy link

@danwulff danwulff commented Jan 9, 2017

@whitecolor VSCode has horizontal split. You can enable it by pressing 'alt+shift+1' (toggles between vertical and horizontal splitting).

However, I would definitely agree that a grid layout allowing a mismash of horizontal and vertical windows is needed in VSCode. In my office, I'm the only person consistently using VSCode and one of the outstanding reasons is the lack of grid layout capability.

@wclr
Copy link

@wclr wclr commented Jan 10, 2017

Right you can switch vertical horizontal, but can't use both, it is kind of strange.

@Shahor
Copy link

@Shahor Shahor commented Jan 31, 2017

Is this going to be considered or should we just forget about it?

To be honest it is the only real bad thing I see about vscode right now, but I want to use it everyday and it's quite painful not to be able to.
I understand that time is not infinite, but I don't see much happening here so excuse me if I'm being annoying by upping this but I'd like this discussion to continue further :)

@kieferrm
Copy link
Member

@kieferrm kieferrm commented Feb 22, 2017

Please see discussion in #9443.

@andradei
Copy link

@andradei andradei commented Feb 22, 2017

@kieferrm You closed issue #9443 referring people to this issue. So can we assume this issue is the one that will track the grid layout feature?

@kieferrm
Copy link
Member

@kieferrm kieferrm commented Feb 22, 2017

@andradei yes.

@seanhealy
Copy link

@seanhealy seanhealy commented Feb 23, 2017

Also would love this. Arbitrary grid splitting is pretty central to my workflow. I'd love to switch to Code as it's amazing in other places but, this keeps holding me back. 😄

@panzer-planet
Copy link

@panzer-planet panzer-planet commented Mar 3, 2017

This is the number one reason some of my colleagues aren't on the vscode train

@malthe
Copy link

@malthe malthe commented Mar 4, 2017

Definitely. It's an integral part of most emacs' users workflow to continuously redefine the buffer grid, using the C-x-<n> key combinations. I would say the number one use is to split once to obtain two views of the same buffer and quickly navigate to a different part for reference – and then often unsplit shortly after.

@medikoo
Copy link

@medikoo medikoo commented Mar 15, 2017

I'm just trying to switch from Emacs, and not having that makes migration painful

@AAverin
Copy link

@AAverin AAverin commented Mar 26, 2017

Wow. I hate this. Any time you start some new software, play around a little and find something annoying, you go to open an issue – but it was either just resolved to be released in the next version, or discussion have been just finished that it needs to be done.
Anyways. Playing with React-Native, after Android Studio I really miss this splitting of screens

@Shulin
Copy link

@Shulin Shulin commented Mar 28, 2017

Agreed that we need to be able to split both Horizonally AND Vertically. Choosing 1 format over the other just isn't usable.

Might want to take a page from:
https://github.com/SublimeText/Origami

@yosefrow
Copy link

@yosefrow yosefrow commented Mar 29, 2017

This is one of the only features that I would miss if I left Sublime or Atom and is keeping me from using VSCode

For serious Coders or Authors who multi-task this is a required feature which should at least be supported in a plugin.

@edasaki
Copy link

@edasaki edasaki commented Apr 10, 2017

I've always felt that 3 windows is far too skinny/short to see anything clearly, and grid layouts are a great way to mitigate the problem. When I need two reference files open it's a pain to get it usable in vscode right now :(

Here's a little picture to help visualize why grids are far superior to what we have right now (although it's probably already quite clear)

Hopefully this will be on the roadmap for the future!

@phoenixsampras
Copy link

@phoenixsampras phoenixsampras commented Jun 3, 2018

@dnutels
Copy link

@dnutels dnutels commented Jun 4, 2018

@bpasero How do we actually install these, though?

@bpasero
Copy link
Member

@bpasero bpasero commented Jun 4, 2018

@dnutels you should be able to just run the provided downloads without installation by unzipping and double click the application binary. I did not want to put installers up because since this has not yet landed in insiders, you would get an update notification shortly after that would bring you back to the previous version.

@alxgrtnstrngl
Copy link

@alxgrtnstrngl alxgrtnstrngl commented Jun 5, 2018

@bpasero Just tried the builds you posted and it worked flawlessly, thank you!

@drewbietron
Copy link

@drewbietron drewbietron commented Jun 5, 2018

Awesome feature without any limitations! Great work @bpasero

@BonesyWonesy
Copy link

@BonesyWonesy BonesyWonesy commented Jun 5, 2018

Thank you! This is awesome! I've been watching this issue for years. Congratulations on this!! Thanks for everyone's really hard work and perseverance to work through the terrible comments of 'I won't ever use VSCode with out this!'.

@patrys
Copy link

@patrys patrys commented Jun 5, 2018

@bpasero Works great but I think the areas to initiate a split are a bit small. Are you planning to support panels like "output" and terminals in the new layout?

@Plesin
Copy link

@Plesin Plesin commented Jun 6, 2018

Working great, love it! Thanks @bpasero!!! Where should I send the 🍾 ? :)

@Plesin
Copy link

@Plesin Plesin commented Jun 6, 2018

Only thing I noticed.
If I initially have full page with a symmetric 2 x 2 grid.
I resize the editor to only half a screen and make it full screen again, it does not maintain the ratio of open sections.
The first column is very narrow.
I notice this with manual resize and using Magnet as well.
Not important but a nice to have. 😄

@joshjensen
Copy link

@joshjensen joshjensen commented Jun 6, 2018

VSCode team you are amazing! Thank you, thank you, thank you. 🍾🍾🍾

@Jack-Works
Copy link
Contributor

@Jack-Works Jack-Works commented Jun 7, 2018

Does this feature make 3-way diff in vscode possible?

@lig
Copy link

@lig lig commented Jun 7, 2018

Could this be extended to any window by any chance? Like getting rid of the sidebar at all and allow me to construct my own tiled UI from all the windows I need including terminals, code overview, explorer, problems list, etc.
In this case, the sidebar could act as sort of a palette for available windows and autohide.

@pallapo
Copy link

@pallapo pallapo commented Jun 7, 2018

graet job @bpasero I really love it!
Thanks, thanks a lot!!!!

@bpasero
Copy link
Member

@bpasero bpasero commented Jun 7, 2018

People interested in grid support for other UI elements than editors should thumbs up:

  • Both left and right sidebar / multi sidebar #26777
  • Allow to dock editors, views and panels anywhere in the workbench #11472
  • Allow to show multiple panels at the same time (split pane) #11889
@PixelT
Copy link

@PixelT PixelT commented Jun 7, 2018

@bpasero during a discussion about grid layouts, maybe also this topic:
#16927

As I wrote there, similar functionality to this:
Atom -> https://github.com/santip/maximize-panes
SublimeText -> https://github.com/jisaacks/MaxPane

@jaswinder-s
Copy link

@jaswinder-s jaswinder-s commented Jun 7, 2018

This is brilliant! Hope it makes it's way into the Stable build very soon! 👍

@eighteyes
Copy link

@eighteyes eighteyes commented Jun 7, 2018

Please consider keyboard shortcuts for grid window actions for those of us who dislike leaving home.

@mohamedmansour
Copy link

@mohamedmansour mohamedmansour commented Jun 7, 2018

It would be nice if Terminals could be part of the Grid system, so we can arrange our terminals in any grid too! https://twitter.com/_rctl/status/1004704690586705921

@bpasero
Copy link
Member

@bpasero bpasero commented Jun 7, 2018

@eighteyes I am counting ~35 new commands being added as part of grid that all can have keybindings assigned so please let me know which one is missing and we can look into adding it...

@BradAndreBurns
Copy link

@BradAndreBurns BradAndreBurns commented Jun 7, 2018

This is awesome! It's simply fantastic that the VSC team has been able to work on this and make it a reality. Can't wait for the stable release. As time goes on, I'm sure the team will bake in the ability to split in terminals, git windows, etc. For now, I cannot complain that this is coming and am simply ecstatic. Thanks for this! 🥇

@sdegutis
Copy link
Contributor

@sdegutis sdegutis commented Jun 8, 2018

Dear VS Code team: you put in the VS Code release notes that we should subscribe to this issue on Github if we want to be notified when the feature is ready: "This feature will be available in our Insiders release in the beginning of June. Subscribe to issue 14909 to receive a notification when this happens." Cool idea in theory! Minimal work on your end, leverages existing tools, users already know how to use Github, etc. But in practice, I'm getting a lot of noise from this issue, and I imagine other people are too. I subscribed within the last 24 hours and already received a dozen or so notifications through Github unrelated to the release that made me want to subscribe in the first place. I hope this constructive criticism is helpful! But I am definitely going to unsubscribe from this issue, and I do hope that another way of subscribing to new features can be worked out. Sincerely yours: some random guy.

@pelotom
Copy link

@pelotom pelotom commented Jun 8, 2018

@sdegutis https://tellmewhenitcloses.com

@kieferrm kieferrm mentioned this issue Jun 8, 2018
43 of 52 tasks
@sdegutis
Copy link
Contributor

@sdegutis sdegutis commented Jun 8, 2018

Awesome @pelotom thanks for the link!!

@bpasero
Copy link
Member

@bpasero bpasero commented Jun 9, 2018

Closing this as the feature has landed in insiders (download). You can see this query for work that is still planned for this milestone (as for example to support "Centered Editor Layout" properly).

Feel free to continue to report issues or feedback (after checking for duplicates).

I will mark this issue as readonly to reduce the number of notifications people get.

@bpasero bpasero closed this Jun 9, 2018
@microsoft microsoft locked and limited conversation to collaborators Jun 9, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet