microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
160.95k stars 28.24k forks source link

Proper tabs for open files #224

Closed TurkeyMan closed 8 years ago

TurkeyMan commented 8 years ago

I really miss proper tabs for open files (like VS proper), and the ability to rip a tab out into its own window.

alvarod-infocorp commented 8 years ago

:+1:

sitefinitysteve commented 8 years ago

@MadSpindel "Working files makes me less productive and I always feel a bit frustrated after using it." 1000% agree... it's like we're being forced into no tabs for someone to make a point or something. We don't like it, if you do, then make it optional for us please.

roncli commented 8 years ago

Visual Studio Power Tools has an option to display tabs vertically, which I absolutely love.

ddevault commented 8 years ago

:+1: and I agree with @sitefinitysteve. If the team insists on not having tabs, then at least improve the extension API so it could be added by a third party.

riclf commented 8 years ago

Here is where tabs are important- we have to step back a moment to another missing feature:

VSCode needs to dump the non-informational implementation of Working Files, and then add the feature to allow opening multiple projects. I do my work by separating my client side code into one project and my server side code into another project. On a large screen I want two coding windows open, with one project tree on the far left. Client code on the left window, server code on the right window. Now, within either project I will be working on multiple source files. In those cases I want to reference them as tabs above the respective project window they were opened in. I may have 3 or 4 tabs on the client side project and 3 or more tabs on the server side project.

The organization is organic. The whole tree of work, multiple projects, is displayed on the left. I have project separation by code windows and I also have open source files being worked on, or referenced, by tabs above their respective project windows.

This is essential workflow for me. I am currently doing exactly this in Atom but I like VSCode and would like to see that flow replicated in VSCode. To do so VSCode needs to implement multiple project support and tabs above respective windows. Otherwise it is just another a little guy's editor, and I don't believe that. Please.

JonCognioDigital commented 8 years ago

@riclf has it spot on.

I usually have 3 vertical columns open, HTML, JS and CSS from left to right.

In Sublime I had all my html tabs above the first column, all JS files as tabs above the second column etc. The tabs have a context and I know I'm not going to be opening the wrong file in the wrong column.

This is almost impossible in VS Code, I can have 3 columns open only by using "open to the side" twice, and a column can disappear totally if a file is closed, at which point I can open a new one but have to reorder them. If I open a file it re-opens in the column that the cursor is currently in, so if I open a css file I have to make sure my cursor is in the third column. It is absolutely infuriating.

Not to mention that the Working files section takes a way vertical space in my folder tree, which is a real problem on my laptop.

A question for the microsoft team. If you have a split view, how are you supposed to know which column a file in "working files" is associated with? It's simple when the tabs are above their respective columns.

Just my 2c.

JVimes commented 8 years ago

I had zero cognitive discomfort getting used to Working Files. I love them much more than tabs. VSCode's UI is on the right track. I'm not against opt-in tabs, but would throw a fit at opt-out tabs.

Working Files are tabs in a better layout (more scroll space). They are missing "tear off" and drag features, which can be added in the future.

jtosey commented 8 years ago

As a mvim user, I have multiple sets of TDD files open, and tab between them. For instance, I angular + tests, server + tests, cucumber or behave + scripts. I don't want to tab to access a single file, but a combination of open files. I switched to VSCode for 3 months for a Typescript project, because it really had best-in-class / amazing Typescript support. However, as soon as I moved to a non-Typescript project, I found I compared its general purpose search, navigation and substitution capabilities directly to mvim and am sorry to say I rapidly (i.e., instantly) reverted to my former editor. I have a 27" Apple Cinema display and would get a larger display if possible. I have plenty of room for plenty of tabs and and file-pairs, and don't have a compelling reason to be limited in using that space by my editor. I don't want to deal with just one file at a time - I want to open many, and to track the flow from tab to tab.

sjee commented 8 years ago

I gave Visual Studio Code another try two weeks ago. I was actually pleasantly surprised when just mucking about with a few files. But when I started working on an actual (large) project with more than a handful of files opened, the lack of tabs became very annoying. Working Files just didn't suit me and it slowed me down. After 3 days I was so annoyed with it that I went back to Sublime Text. I have two 24" screens at work (Windows), a 27" Mac at home and can easily have 20 tabs open and still distinguish which file is which. Plenty of screen real estate for tabs in my case. You are already showing the file name of the file that is opened in the editor. All the space to the right of the file name is unused (except for the icons to the right of the window) and could be filled with tabs (which is what Sublime Text does too). I say give users the option to work with Working Files and/or file tabs. For now, I am switching back to a combo of Sublime Text and Visual Studio Enterprise. When tabs are added I will reconsider.

nagpuregajanan commented 8 years ago

For Working Files option, I have to toggle side bar (as I keep it hidden for expanded view of code) to select file. And the Ctrl+P and Ctrl+tab options also not user friendly.

I know you guys are trying something different for that, but the options you already provided not user friendly. Sorry.

devsoft commented 8 years ago

please provide an extension for this, so users have a chance to use tabs instead of being force to use the working list. I very hate the working files feature, it causes me switch files slowly and stole my productivity

janmarek commented 8 years ago

When I was new to VS Code I really missed tabs. Then I discovered ctrl + tab and I no longer need them.

pesho commented 8 years ago

I've been trying to make vscode (which is awesome in most parts) my primary editor for several months, but the lack of tabs keeps annoying me and hurting my productivity (I'm one of those who actively manage the set of open tabs in other editors). Ctrl+tab is not a replacement for tabs.

It's obvious that the vscode team is biased against this, and currently aims to "convince" users that they don't really need tabs. But this is the same type of thinking that lead to the removal of the Start menu from Windows 8 (we all know how this ended).

WebPraktikos commented 8 years ago

@pesho Exactly!

waderyan commented 8 years ago

Now that code folding is out this is the top issue in User Voice. We are weighing a number of options internally as we continue to weigh community feedback, user experience testing, etc. Thank you all for the discussion here. Very helpful.

pleerock commented 8 years ago

probably its the only reason why I opened for the first time vscode almost a year ago and closed it right after few minutes play. and you still do not have tabs. Hope it will appear soon, so I can use it. Its Open source, and people from Microsoft need to change their minds (thats what they are tring to do now, isnt it?) and listen to community, not simply "we are using this tool internally and we dont need tabs bla bla"

ghost commented 8 years ago

@pleerock You not even going to try an IDE because it doesnt have tabs ?! (O.o) weeeweweweweeeww . They dont want to add tabs because tabs are pointless , verbose they generally add no value while adding top wieght on the windows chromes space. The alternatives provide more metadata, ease of use and quicker navigation.

Growiel commented 8 years ago

With tabs I choose which files remain open. Whether it's CTRL+tab or "Working files", if I open a file to look up some code into it, switch to another one to use said code, I have no ways of going back to my first file short of having to re-navigate to the file in the explorer.

I know I have 3 editors, but sometimes I don't want to override the other 2 with my look-up code-only file.

If when I open a file it stays in the different file histories, then I'm fine without tab. Maybe if a file has been open more than 5s it deserve an entry in CTRL+Tab.

pleerock commented 8 years ago

@4tron yes it is for me, because I want to use IDE which is convenient to me. for someone loosing tabs is pointless and safe their space (probably they are using netbooks and don't have enough space for really few extra pixels =)), for others its convenient and increase their productivity. Any good software should be customizable and have ability to hide/show panels. "save a space" is not argue. Introduce tabs + add ability to show/hide them (if its really needed for someone=)) they best way to go. No need to open a new America or go with wrong innovations, need to learn from best IDEs here which made UX for years better and better, like intellij, visual studio and others

riclf commented 8 years ago

It's really simple- just make it a Preference- tabs or no tabs. When tabs are on, no Working Files, when Tabs are off, Working Files. That was Genius ! ;)

Me, I'm a tabs guy. I find Working Files very limited and non intuitive, as well as taking up vertical space on the Project Tree. But it hardly matters if we can't have more than 1 Project open. :(

Guema commented 8 years ago

I think a preference should be fine too.

I also minded a way to enhance working files system. You should use tab line as historic. For exemple, if you open 4 files in left window, and then open a fifth making the oldest modified file out of the tab line, it should vanish and return as only "modified file" in working files.

You could also make it smart, the system could also prioritize vanishing first saved and so unmodified files.

The fact is that tabs are sooo practical, even if tabs bloating is a problem. You should think about a way to use tabs but limiting the number of them.

Usually i keep open tabs that i haven't edited for days. this is generally that who make it bloating.

KevinFinckIDS commented 8 years ago

+1

mustafaakin commented 8 years ago

I have a 4K screen and having no tabs to horizontally is really turning me off from VsCode

jtosey commented 8 years ago

BTW, I want to clarify that I don't just want tabs, I would like sets of tabs. As a full stack mvim TDD developer on the Mac, I think in terms of contexts. html + css, angular + tests, node + tests, cucumber + test steps. I normally work in a single context for a few lines of code before moving to the next context, TDD style. When using mvim, I not only switch between these contexts very quickly (using the same key sequence that I use for Mac Terminal, Mac Finder and Safari or Chrome), but I benefit from macros that automatically open the paired file, so that from an angular source file, I can automatically open the corresponding test. This is an incredibly productive way to work, and keeps my fingers on the keyboard.

JonCognioDigital commented 8 years ago

If I found an IDE that would allow me to open "associated" files in frames next to each other, just by switching one tab, e.g. when I open button.html it would open button.js next to it and button.scss in the third frame, I would never use another IDE ever again.

I know it will never happen, but just sayin'.

jtosey commented 8 years ago

Well, then, you should be using mvim! http://www.vim.org/scripts/script.php?script_id=1567 Command :AV opens associated files (A for associated).

Trillinon commented 8 years ago

What @jtosey talks about is exactly what I came here to say. I use panes to organize a set of related files. Most tab management involves getting those related files next to each other when I switch contexts.

sudogooglex commented 8 years ago

+1

rogierlommers commented 8 years ago

Same here, would love tabs.

kevinchiu commented 8 years ago

I've just switched over to VSCode from Atom and noticed how amazingly organized and clean it feels after working with it for a while. The reason? No over-population of tabs! The actual lack of tabs is what makes this experience so smooth. My primary file navigation is the command-P menu that allows me to quick jump to any file.

a8775 commented 8 years ago

VS tabs are perfect, please bring tabs, undocking tabs to separate window would be great as well! Thanks for vscode :)

msg7086 commented 8 years ago

I'm actually quite curious on whether you want to make VSC as a general purpose file editor, or just a source code editor.

There are couple situations where a tab bar is absolutely demanded.

  1. Quickly switch between many tabs. A common situation to me is I need to compare 2 or more files by its shape, such as to compare between simplified Chinese and its traditional equivalent. A diff won't solve the problem because they are different characters. The only way is to quickly switch between the tabs to see if there's any missing word by your eyeballs. Using ST and I can switch tabs using Alt-NUM, but in VSC the only possible way is to use multiple Ctrl-Tab, or mouse rapidly moving and clicking.
  2. Long and hard-to-type file names. Using Ctrl-P to switch between files is not bad. But how about some file names that share a long common fix? How about some names that are not in English? Consider how much time would you spend on Ctrl-P to switch between 青年急着买房的原因(上).md and 青年急着买房的原因(下).md?

I'd say, neither of the situation will you hit when writing code, but as a general purpose editor, this is a serious issue.

ghost commented 8 years ago

@msg7086 Im not sure about point one but for point two could you not ctrl + p and then type .md leaving you with the two options and then just ctrl + tab to choose the one you want? Not sure i am understand the issue correctly

msg7086 commented 8 years ago

@4tron Thanks for the reply. However, your method only works if I have only 2 files with that type. In reality people will probably be working with bunch of those files in a single directory. Imaging I'm writing a blog that has 50 posts in markdown format, with different characters in Chinese or Korean or Arabian etc as the file names. The real scenario I was hitting was actually some subtitle files with CJK names, where all of them are *.ass, thus Ctrl+P by extension doesn't work quite well.

shivateja-madipalli commented 8 years ago

Really appreciate if this can be implemented

binbsr commented 8 years ago

Developers are used to with it, please make this a priority.

kulbir commented 8 years ago

+1 for tabs. Please implement tabs.

tonholis commented 8 years ago

+1 for tabs!

nvivo commented 8 years ago

I vote for adding tabs too.

harold-b commented 8 years ago

+1

jpgarcia commented 8 years ago

+1

lucasmahle commented 8 years ago

+1

smnstrk commented 8 years ago

We need tabs ASAP.

HawkenKing commented 8 years ago

I miss tabs. I keep reaching for them, would be nice to ref two or three different open documents quickly.

What's the big deal?

Please give us tabbed document management :)

davidpmccormick commented 8 years ago

+1, yo.

gbrlmza commented 8 years ago

+1

ucirello commented 8 years ago

+1

kpiascik commented 8 years ago

VSCode is a great editor and has nice integration points with both Git and Nodejs. The main reason that I do not use it as my primary development IDE is because it doesn't support tabs.

rogierlommers commented 8 years ago

Same here. It's the ONE thing which holds me in using it. Op do 10 mrt. 2016 om 15:18 schreef Konrad Piascik <notifications@github.com

VSCode is a great editor and has nice integration points with both Git and Nodejs. The main reason that I do not use it as my primary development IDE is because it doesn't support tabs.

— Reply to this email directly or view it on GitHub https://github.com/Microsoft/vscode/issues/224#issuecomment-194867036.

jmlivingston commented 8 years ago

It's a little surprising to see so much push back on this issue given it should be so easy to implement. At the very least make it an option or available through an extension (as Brackets does).

If this does get added, PLEASE add the following:

  1. Close functionality like Google Chrome. (Always been annoyed the standard version of VS didn't have this.) -- "Close other tabs" -- "Close tabs to the right" .
  2. An option to open the tab to the right or left. (VS changed the default at some point, but then added an option to change)