1870

I am using Visual Studio Code 1.3.1 with the newly introduced tabs.

When I click on files, the first file will open in a tab. If I do not make any changes to this file, the second clicked file will open in the same tab.

How can I avoid this and make Visual Studio Code always open a new tab?

starball
  • 20,030
  • 7
  • 43
  • 238
Michael Hoeller
  • 22,018
  • 10
  • 39
  • 66
  • 11
    See https://stackoverflow.com/questions/45945820/vs-code-keyboard-shortcut-to-take-file-out-of-preview-mode/47840585#47840585 Alt-Enter added this functionality as of v1.19 in December 2017. – Mark Dec 15 '17 at 22:33
  • 38
    if you double click and open the file form left panel, it will not be replaced by other tabs – Shameera Anuranga Aug 21 '18 at 14:50
  • for those who want to open new file in the previous session (in a new tab, when VScode is off): `"window.restoreWindows": "preserve",` https://github.com/microsoft/vscode/issues/36964 – JinSnow Feb 15 '22 at 09:29

32 Answers32

3270

When you [single-]click a file in the left sidebar's file browser or open it from the quick open menu (Ctrl-P, type the file name, Enter), Visual Studio Code opens it in what's called "Preview Mode", which allows you to quickly view files.

Preview Mode tabs are not kept open. As soon as you go to open another file from the sidebar, the existing Preview Mode tab (if one exists) is used. You can determine if a tab is in Preview Mode, by looking at its title in the tab bar. If the title is italic, the tab is in preview mode.

To open a file for editing (i.e. don't open in Preview Mode), double-click on the file in the sidebar, or single-click it in the sidebar then double click the title of its Preview Mode tab.

If you want to disable Preview Mode all together, you can do so by setting "workbench.editor.enablePreview": false in your settings file. You can also use the "workbench.editor.enablePreviewFromQuickOpen" option to disable it only from the quick open menu.

Before you can disable Preview Mode, you'll need to open your Settings File.

Pro Tip: You can use the Command Palette(shortcut Ctrl+Shift+P) to open your settings file, just enter "Preferences: Open User Settings"!

Once you've opened your settings file (your settings file should be located on the right), add the "workbench.editor.enablePreview" property, and set its value to false.

You can learn more about Visual Studio Code's "Preview Mode" here.
See also article How to Always Open Files in a New Tab - VSCode

Michael Freidgeim
  • 26,542
  • 16
  • 152
  • 170
Brynden
  • 35,463
  • 2
  • 15
  • 21
  • 7
    can i change `double-click` to `ctrl+click` ? – Mohsin AR Feb 05 '19 at 16:12
  • 16
    Since I have arrived the second time within a few months at this answer, also note that there is a `Workbench > Editor: Show Tabs` setting, which, when disabled, looks similar to the preview mode, because you never see a tab appearing except the one you open. – kontur Jan 14 '20 at 09:48
  • 3
    When using `ctrl+p` to locate a file, you can also use `alt+enter` or press the right arrow key while the file is highlighted to open it in normal mode (not preview mode) – CJ Edgerton Aug 03 '20 at 15:02
  • I submitted a PR to change the default behaviour https://github.com/microsoft/vscode/pull/115088 – wesinat0r Jan 26 '21 at 17:03
  • 3
    It's not only most useless feature, it's also actually quite annoying. If I knew I would have upvoted it in the discussion thread. It's a strange criterion for a backlog candidate. I don't think regular users regularly check GitHub's issues looking for upvoting new features. – facetus May 21 '21 at 02:36
  • Cant you just do Ctrl + \ (Ctrl + BackSlash)? – Nullify Sep 20 '22 at 09:49
  • > You can use the Command Palette(shortcut Ctrl+Shift+P) to open your settings file, just enter "`Preferences: Open User Settings`" . Following those instructions leads to "No matching results" if you're doing it in a Remote VSCode window. You need to open a local window and then this works. – sh37211 Jun 22 '23 at 23:45
209

I came up with the same problem, and open setting.json file, add the following:

"workbench.editor.enablePreview": false
Aliaxander
  • 2,547
  • 4
  • 20
  • 45
jialin wang
  • 3,214
  • 1
  • 13
  • 5
  • 3
    Most straight to the point answer. Additionally, you can find `settings.json` by hitting shift+command+p (command palett) in macOS and entering in "settings.json". – xv8 Sep 13 '21 at 23:37
208

If you don't want to disable preview mode you can explicitly tell vscode to keep a specific tab open. As mentioned above a tab heading with italic text is in preview mode.

To get a tab out of preview mode you can either right click on the tab and choose keep open or use the shortcut cmd + k enter that is mapped to the command workbench.action.keepEditor.

Furthermore, double-clicking on a tab also gets it out of preview mode (verified in vscode 1.44.0).

Adrian Mole
  • 49,934
  • 160
  • 51
  • 83
jontem
  • 4,101
  • 1
  • 21
  • 17
60

For 2020:

easy as pie, tap preferences (command ⌘ + , on Mac),

The secret is "Enable preview"

they added it right there:

enter image description here

Turn OFF (uncheck) for NORMAL behavior.

i.e., Turn OFF to avoid the "automatic closing" behavior.

Bowis
  • 541
  • 8
  • 31
Fattie
  • 27,874
  • 70
  • 431
  • 719
  • this adds almost nothing on top of [this answer](https://stackoverflow.com/a/45431612/11107541) from 2017. – starball Aug 18 '23 at 05:40
50

Use workbench.editor.enablePreview: false to disable Preview mode completely.

Use workbench.editor.enablePreviewFromQuickOpen: false to disable Preview mode for the files open from quick open menu.

Fatih Acet
  • 28,690
  • 9
  • 51
  • 58
39

Open in new Tab Solution:

  1. Open the command palette by: Cmd + Shift + K
  2. Open settings file by: Preferences: Open Settings (JSON)
  3. Under user setting, enable Tabs by: "workbench.editor.showTabs": true
Gama11
  • 31,714
  • 9
  • 78
  • 100
Suman Acharya
  • 499
  • 4
  • 3
35

Watch for filenames in italic

Note that, the file name on the tab is formatted in italic if it has been opened in Preview Mode.

Quickly take a file out of Preview Mode

To keep the file always available in VSCode editor (that is, to take it out of Preview Mode into normal mode), you can double-click on the tab. Then, you will notice the name becomes non-italic.

Of course, you can simply double-click to open a file. This will open the file in a new tab, skipping the Preview Mode.

Feature or bug?

I believe Preview Mode is helpful especially when you have limited screen space and need to check many files.

hktang
  • 1,745
  • 21
  • 35
  • It may also be worth mentioning that you can skip preview mode in the first place by double-clicking the file as you open it. – thomasrutter Aug 30 '21 at 04:45
  • Thank you @thomasrutter for your suggestion. Good point! I updated the answer accordingly. – hktang Aug 30 '21 at 08:38
26

For anyone who don't want to disabled Preview Mode.

As I read whole of comments and I found what I preferred that is the shortcut key to pin the opened file from Quick Open/Ctrl+P or that's mean to keep the opened file to the editor, and yes also don't need to switch your hand to the mouse to double-click on files list.

Thanks to @jontem and @MattLBeck.

Call save command with Ctrl+S (+s on Mac) is the easiest way to reach what I preferred.

And if you found out you do this to keep opened file to editor quite frequently, yes I preferred you should setting the option "workbench.editor.enablePreview": false or "workbench.editor.enablePreviewFromQuickOpen": false as others mentioned before.

ROOT
  • 11,363
  • 5
  • 30
  • 45
Natta Wang
  • 553
  • 11
  • 18
23

⚡ Actually, VSCode shows you the preview of a file.

You can disable the preview with this:

"workbench.editor.enablePreview": false,

⬇️ Basically just add these two settings and you're good to go.

VSCode tip

Ahmad Awais
  • 33,440
  • 5
  • 74
  • 56
22

Menu FilePreferencesUser Settings: add this line

"workbench.editor.enablePreviewFromQuickOpen": false

leanne
  • 7,940
  • 48
  • 77
samivic
  • 1,216
  • 14
  • 13
  • what does this add on top of [this answer](https://stackoverflow.com/a/46498078/11107541) from 2017? – starball Aug 18 '23 at 05:46
18

If you want to open a file permanently from "Go To File..." (⌘P), press "right arrow" instead of return.

This also keeps the Go To File... search bar open so you can quickly open multiple files.

Gandalf Saxe
  • 381
  • 3
  • 7
18

This is not a new answer. It is just showing how to do it via UI. Open settings via File => Preference => Settings. The most upvoted answer is the correct choice.

Then in search field type Preview.

After that select Workbench and look for Enable preview options.

Uncheck the boxes.

enter image description here

2240
  • 1,547
  • 2
  • 12
  • 30
Pramod
  • 768
  • 1
  • 12
  • 27
13

From settings you can find edit settings.json You need to search by Preview. Please check the below screen short.

Add the below code there:

"workbench.editor.enablePreview": false 

enter image description here

Nazmul Haque
  • 720
  • 8
  • 13
12

You can do it via GUI

enter image description here

Search for preview

enter image description here

uncheck the options Enable Preview and Enable Preview from Quick Open

Shiva
  • 11,485
  • 2
  • 67
  • 84
11

Essentially, there are three settings that one has to update (Preference >> settings):

  • workbench.editor.enablePreview: set this to globally enable or disable preview editors

  • workbench.editor.enablePreviewFromQuickOpen: set this to enable or disable preview editors when opened from Quick Open

  • workbench.editor.showTabs: finally one will need to set this
    otherwise, there will be no tabs displayed and you will just be
    wondering why setting/unsetting the above two did not work

akhouri
  • 3,065
  • 3
  • 25
  • 29
8

enabling using GUI

go to Code -> Preferences -> Settings -> User -> Window -> New Window

here Open Files In New Window under drop down list select "on" that's it.

my VS Code version 1.38.1

inquisitive
  • 3,738
  • 6
  • 30
  • 56
saigopi.me
  • 14,011
  • 2
  • 83
  • 54
  • I was having an issue where "Go to definition..." was continually opening in same file window (was frustrating as would have to re-find my starting point). This seemed to fix things for me mostly (initial "Go to definition..." now opens in new file window). – twknab Nov 04 '19 at 19:52
  • This setting is as far as I'm aware about if new windows should be opened, not the permanence of tabs. – Frans Dec 06 '21 at 13:52
8

1. Double-click your files instead of single-clicking.

  • Instead of single clicking on your files, (like I do in the previous GIF) double-click. This will tell VS Code that you want the file to stay open when you switch to a new file.

  • Here's my beautiful demonstration of this:

enter image description here

2. Double-click the tab you want to keep open

  • This works if the tab you are working with is in "Preview Mode" (italicized) and you want it to stay open when you open another file.

enter image description here

3. Right click your tab and select "Keep Open"

  • This one's self-explanatory. Simply right-click on the Preview Mode tab on the tab at the top of your screen (while it's italicized) and click on "Keep Open" once the context menu pops up.

  • Here's my beautiful demonstration of this:

enter image description here

When you single-click a file in the left sidebar's file browser or open it from the quick open menu (Ctrl-P, type the file name, Enter), Visual Studio Code opens it in what's called "Preview Mode", which allows you to quickly view files.

It's a feature, not a bug.

  • Very often while programming you will only need to open a file for a small window of time, to "preview" its contents.

FOR MORE INFO

7

You need to edit settings.json file, which is located at:

Windows %APPDATA%\Code\User\settings.json
macOS $HOME/Library/Application Support/Code/User/settings.json
Linux $HOME/.config/Code/User/settings.json

{
  "workbench.editor.showTabs": true,
  "workbench.editor.enablePreview": false
}
Audwin Oyong
  • 2,247
  • 3
  • 15
  • 32
hoogw
  • 4,982
  • 1
  • 37
  • 33
6

As hktang above indicates:

one Click opens the file in preview mode (header text in italics)

Double click the same file, it goes out of preview-mode (header text changes from italic to normal font)

I think this is a "comprimise" feature allowing users, to "navigate" both worlds; preview and none-preview.

  • All you do is click the file to open it in the right panel.
  • Then immediately double click it to keep it there.
  • Or - just treble click. File opens in none preview mode.

HTH Paul S.

5
  • Go to File > Preferences > Settings
  • Search for workbench.editor.enablePreviewFromQuickOpen
  • Set it to false or uncheck it.
Hadi Mir
  • 4,497
  • 2
  • 29
  • 31
4

For those who using Windows OS:

  • Press Ctrl + Shift + P
  • Select Preferences: Open Settings (JSON) from the list
  • Select all and Paste this { "workbench.editor.enablePreview": false }

That's it now it will open in a new tab instead of replacing on the existing one.

For reference look at the screenshot below:

enter image description here

Shailendra Madda
  • 20,649
  • 15
  • 100
  • 138
4

to open another file in a new tab keeping the current file open,

  • first double click (left click) the current file
  • then click (single click) the new file

in this way, the new file will be opened in another tab

#OR

you can drag the new file from vs code project explorer and drop it beside opened tab, exactly where the new tab will be opened

Pranta Palit
  • 663
  • 2
  • 5
  • 15
3

Actually, VSCode shows you the preview of a file when you open it. If you want to open files in a new tab, just disable the preview with this setting (paste this in the settings.json file).

"workbench.editor.enablePreview": false, 

— you can take it one step further and use this setting

"workbench.startupEditor": "newUntitledFile",

— It will open your VSCode editor with a blank new untitled file to quickly get started.

Ahmad Awais
  • 33,440
  • 5
  • 74
  • 56
3

Simple and Best way is whenever you open new file it is in preview mode so simply press the CTRL + K and then press ENTER then you done with preview mode , Now this file will remain always open until you closed it that's what you need to do ....

Maddy
  • 76
  • 7
2

One simple solution is, instead of making changes in settings of vscode, whenever you open a file through a reference,you will see that the file is in preview mode(the name of file is in italic) and in the sidebar you will see that same preview file in focus just double tap it and it will be pinned on the tab,so that it wont get replaced by another file in preview mode.

Mahesh Jamdade
  • 17,235
  • 8
  • 110
  • 131
1

This is so confusing. All developers I asked didn't appreciate this default behavior.

I use cmd + P to open project files.

Misha Akopov
  • 12,241
  • 27
  • 68
  • 82
Kamil Dzieniszewski
  • 475
  • 1
  • 5
  • 15
1

In my case, I also had to set workbench.editor.showTabs property to true (in addition to workbench.editor.enablePreview)

I'm not sure how it got changed to false. Maybe, I've accidentally set it to false using some shortcut.

Zhenya
  • 6,020
  • 6
  • 34
  • 42
1

for me, shift + enter did the trick.

Maged Saeed
  • 1,784
  • 2
  • 16
  • 35
  • As soon as you do anything to edit the file, including pressing Shift-Enter, it exits preview mode. @gandalf Saxe's answer - open the file by pressing Right-Arrow so it opens properly, and not in Preview is more effective – cyberspy Jun 15 '20 at 08:44
  • it's not the Shift + Enter, the exit from preview mode occurred because you edited the file by pressing Enter and putting a new line. it's only the Enter – Anas Jul 03 '22 at 10:46
1

Settings -> Workbench -> Editor Management -> Enable Preview

Jacob Abraham
  • 915
  • 9
  • 8
1

In my case I had accidentally changed the setting for viewing files in tabs and didn't know where to look to change back to the behavior I was used to i.e. double clicking on the files name in the file explorer pane (typically LHS) to open the file in a new tab.

There is a setting to check or uncheck "enable tabs".

In VS Code 1.77.3 you can click on the 3 dots on the RHS (see image below) enter image description here

Note: Full version info of my VS Code installation: Version: 1.77.3 Commit: 704ed70d4fd1c6bd6342c436f1ede30d1cff4710 Date: 2023-04-12T09:16:52.732Z Electron: 19.1.11 Chromium: 102.0.5005.196 Node.js: 16.14.2 V8: 10.2.154.26-electron.0 OS: Linux x64 6.2.0-20-generic snap Sandboxed: Yes

Craig
  • 21
  • 3
1

Tried all above answers but below one worked finally. Put that in setting.json.

"workbench.editor.showTabs": true,
Krishan Pal
  • 306
  • 1
  • 3
  • For me worked "window.restoreWindows" then selected "Preserve". Now if the editor is closed and I double click a file ( to open it ), the editor will open all the previous files that were left opened in the last use of the editor + the new file I've just doubled clicked on. – Francisco Luz Jul 29 '23 at 22:31
0

If you have opened a file in preview mode and want to open new file in another tab: For Mac: use cmd + p -> find the file and alt + enter.

Manju
  • 79
  • 7
  • Hi, The question here is about opening a file from explorer menu, not by searching out the file via `cmd+P` option. Moreover, anyhow, the `cmd+P` option opens a file in a new tab itself. But your method definitely works! – Rishabh Barman Aug 11 '21 at 08:30