How can I prevent VS Code from replacing a newly opened, unmodified (preview) tab with a subsequently opened one?

Asked 2023-09-21 08:09:13 View 302,362

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?

Answers

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

Answered   2023-09-21 08:09:13

  • can i change double-click to ctrl+click ? - anyone
  • 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. - anyone
  • 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) - anyone
  • I submitted a PR to change the default behaviour github.com/microsoft/vscode/pull/115088 - anyone
  • 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. - anyone

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

"workbench.editor.enablePreview": false

Answered   2023-09-21 08:09:13

  • 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". - anyone

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).

Answered   2023-09-21 08:09:13

  • For future readers its: CMD+k release key combo and then hit Enter - anyone

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.

Answered   2023-09-21 08:09:13

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.

Answered   2023-09-21 08:09:13

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

Answered   2023-09-21 08:09:13

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.

Answered   2023-09-21 08:09:13

  • 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. - anyone
  • Thank you @thomasrutter for your suggestion. Good point! I updated the answer accordingly. - anyone

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.

Answered   2023-09-21 08:09:13

⚡ 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

Answered   2023-09-21 08:09:13

Menu FilePreferencesUser Settings: add this line

"workbench.editor.enablePreviewFromQuickOpen": false

Answered   2023-09-21 08:09:13

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.

Answered   2023-09-21 08:09:13

  • Yep. Pressing "right arrow" to open in a new tab works on Windows too. - anyone
  • Your solution deserves more than 9 upvotes :). Your don't have to turn off preview ya - anyone
  • Perfect - THIS should have been the accepted answer, as it does not 'fix' the problem by disabling a useful feature, but instead answers the question by showing how Ctrl-P to open files should be used! The fact it keeps the Go To File open as well is an excellent bonus - anyone
  • This is no longer working, has this feature been removed? Can anyone confirm if it still works? - anyone
  • Working in 1.58.2 / Windows - anyone

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

Answered   2023-09-21 08:09: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

Answered   2023-09-21 08:09:13

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

Answered   2023-09-21 08:09:13

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

Answered   2023-09-21 08:09:13

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

Answered   2023-09-21 08:09:13

  • 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). - anyone
  • This setting is as far as I'm aware about if new windows should be opened, not the permanence of tabs. - anyone

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

Answered   2023-09-21 08:09:13

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
}

Answered   2023-09-21 08:09:13

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.

Answered   2023-09-21 08:09:13

  • Go to File > Preferences > Settings
  • Search for workbench.editor.enablePreviewFromQuickOpen
  • Set it to false or uncheck it.

Answered   2023-09-21 08:09:13

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

Answered   2023-09-21 08:09:13

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

Answered   2023-09-21 08:09:13

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.

Answered   2023-09-21 08:09:13

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 ....

Answered   2023-09-21 08:09:13

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.

Answered   2023-09-21 08:09:13

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.

Answered   2023-09-21 08:09:13

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

I use cmd + P to open project files.

Answered   2023-09-21 08:09:13

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

Answered   2023-09-21 08:09:13

for me, shift + enter did the trick.

Answered   2023-09-21 08:09:13

  • 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 - anyone
  • 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 - anyone

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

Answered   2023-09-21 08:09:13