ChatGPT解决这个技术问题 Extra ChatGPT

Open files always in a new tab

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?

See stackoverflow.com/questions/45945820/… Alt-Enter added this functionality as of v1.19 in December 2017.
if you double click and open the file form left panel, it will not be replaced by other tabs
for those who want to open new file in the previous session (in a new tab, when VScode is off): "window.restoreWindows": "preserve", github.com/microsoft/vscode/issues/36964

M
Michael Freidgeim

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.


can i change double-click to ctrl+click ?
I'm not sure why the preview mode is enabled by default - not really that useful. Thanks!
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.
Wow talk about interface discoverability :-)
one of the most useless settings enabled by default
A
Adrian Mole

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


For future readers its: CMD+k release key combo and then hit Enter
A
Aliaxander

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

"workbench.editor.enablePreview": false

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".
F
Fatih Acet

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.


G
Gama11

Open in new Tab Solution:

Open the command palette by: Cmd + Shift + K Open settings file by: Preferences: Open Settings (JSON) Under user setting, enable Tabs by: "workbench.editor.showTabs": true


CMD + Shift + P opens the Command Palette now. (CTRL on Win). Ref: code.visualstudio.com/docs/getstarted/…
"workbench.editor.showTabs": true worked for me
h
hktang

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.


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

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.


N
NeERAJ TK

For 2020 ..

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

they added it right there:

https://i.stack.imgur.com/7m6vp.png

Turn "off" for normal behavior. (IE, to avoid the "automatic closing" behavior.)


Thank you Fattie it works like a charm
A
Ahmad Awais

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

https://i.stack.imgur.com/xTf2V.png


l
leanne

Menu File → Preferences → User Settings: add this line

"workbench.editor.enablePreviewFromQuickOpen": false


G
Gandalf Saxe

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.


Yep. Pressing "right arrow" to open in a new tab works on Windows too.
Your solution deserves more than 9 upvotes :). Your don't have to turn off preview ya
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
This is no longer working, has this feature been removed? Can anyone confirm if it still works?
Working in 1.58.2 / Windows
2
2240

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.

https://i.stack.imgur.com/5sWRL.png


i
illusionist

You can do it via GUI

https://i.stack.imgur.com/eT0HJ.png

Search for preview

https://i.stack.imgur.com/kJzIX.png

uncheck the options Enable Preview and Enable Preview from Quick Open


a
akhouri

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


i
inquisitive

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


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

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
}

P
Paul Schwartzberg

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.


N
Nazmul Haque

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 

https://i.stack.imgur.com/kbA5o.png


H
Hadi Mir

Go to File > Preferences > Settings

Search for workbench.editor.enablePreviewFromQuickOpen

Set it to false or uncheck it.


A
Ahmad Awais

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.


S
Shailendra Madda

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:

https://i.stack.imgur.com/VlkrP.png


M
Maddy

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


P
Pranta Palit

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


M
Mahesh Jamdade

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.


M
Misha Akopov

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

I use cmd + P to open project files.


Z
Zhenya

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.


J
Jacob Abraham

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


M
Maged Saeed

for me, shift + enter did the trick.


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
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
M
Manju

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.


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!