ChatGPT解决这个技术问题 Extra ChatGPT

Visual Studio Code open tab in new window

I am trying to open a tab in a new window in Visual Studio Code so I can move it to another screen. If I drag the tab the other screen, a file is created. Is there a shortcut to open a tab in a new Visual Studio Code window so I can move it to another screen?

Feature request for floating window support in the same instance: github.com/Microsoft/vscode/issues/10121
4 years later...

J
Josh Correia

On Windows and Linux, press CTRL+K, then release the keys and press O (the letter O, not Zero).

On macOS, press CMD+K, then O (without holding CMD).

This will open the active file tab in a new window/instance.


Ctrl+K O opens up the select folder dialog in my case
first press Ctrl+K,then release,then press O :)
that should be WAY easier. I should just be able to drag the tab to an empty space and it opens. Dropping the file is a much less useful feature.
@light24bulbs - It's maddening that a tool for developers is so clumsy. This doesn't even close the existing tab (so now I have 2 copies open)!
While handy, I'd like to point out to anyone wondering, this only opens the same file in a new instance of VS code. Changes aren't persisted either across instances. If I have a markdown doc open in one instance, and I "ctrl-k, o", it opens the same md doc in a new VS code, and opening the preview on one screen, the preview will not reflect changes from the other instance even after saving
m
mbomb007

This is a very highly upvoted issue request in Github for Floating Windows.

Until they support it, you can try the following workarounds:

1. Duplicate Workspace in New Window [1]

The Duplicate Workspace in new Window Command was added in v1.24 (May 2018) to sort of address this.

Open up Keyboard Shortcuts Ctrl + K, Ctrl + S Map workbench.action.duplicateWorkspaceInNewWindow to Ctrl + Shift + N or whatever you'd like

https://i.stack.imgur.com/03NXR.png

2. Open Active File in New Window [2]

Rather than manually open a new window and dragging the file, you can do it all with a single command.

Open Active File in New Window Ctrl + K, O

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

3. New Window with Same File [3]

As AllenBooTung also pointed out, you can open/drag any file in a separate blank instance.

Open New Window Ctrl + Shift + N Drag tab into new window

4. Open Workspace and Folder Simultaneously [4]

VS Code will not allow you to open the same folder in two different instances, but you can use Workspaces to open the same directory of files in a side by side instance.

Open Folder Ctrl + K,Ctrl + O Save Current Project As a Workspace Open Folder Ctrl + K,Ctrl + O

For any workaround, also consider setting setting up auto save so the documents are kept in sync by updating the files.autoSave setting to afterDelay, onFocusChange, or onWindowChange

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


A very highly upvoted issue that is still open after three years.
This has a real problem for me suddenly. When I open the second window, that instance has no working directory. This makes all my linters go crazy, as they can't find references.
6 years after being added to the backlog and 3 years after being locked this still is the most commented on issue in the repo. I'm seriously considering going back to Atom over this.
T
TylerH

When I want to split the screens I usually do one of the following:

open new window with: Ctrl+Shift+N and after that I drag the current file I want to the new window. on the File explorer - I hit Ctrl+Enter on the file I want - and then this file and the other file open together in the same screen but in split mode, so you can see the two files together. If the screen is wide enough this is not a bad solution at all that you can get used to.


Thanks @nisanarz this works but I think it would be more convenient if it would be possible to pop out the window like in Visual Studio. Also for the new window to act on the same code base when searching and opening new files.
V
VonC

With Visual Studio 1.43 (Q1 2020), the Ctrl+K then O keyboard shortcut will work for a file.

See issue 89989:

It should be possible to e.g. invoke the "Open Active File in New Window" command and open that file into an empty workspace in the web.

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


It doesn't work for terminal tabs unfortunately
s
snotbubblelou

Just an update, Feb 1, 2019: cmd+shift+n on Mac now opens a new window where you can drag over tabs. I didn't find that out until I when through KyleMit's response and saw his key mapping suggestion was already mapped to the correct action.


This is not the same thing as duplicating the workspace, though, because any dependencies or functions from libraries will not be loaded for your linters. A new windows lets you look at files, but it lacks all the functionality of a workspace.
J
Junlong Wang

If the accepted answer isn't working for you, for example, your shortcut key may have been changed to do other things. You can launch the command input by Ctrl + Shift + P, then type 'new window' and you will see the result File: Open active tab in a new window, and select it.


The official answer should be updated by this one.
A
Alok Tripathi

Press Command+K (wait, it will wait for pressing any key which you can see in the below bar) then press O. So, it is Cmd+k+ O(space represents little wait).


This is a duplicate of previous answers.
e
eisenpony

I wanted to use my second screen for viewing a preview of a document. None of the suggestions worked well since the preview was not updated in the second window, even when the workspace was duplicated and autosave enabled.

My workaround was to simply increase the size of the window to span both screens, and use the standard split tab.

To expand one window across two screens, I recommend Microsoft PowerToys. The FancyZones feature can be configured to allow zones to span across monitors, so a custom canvas can be created to quickly expand a single window to both screens.


a
akjames

I found a way to achieve the "Duplicate Workspace in New Window" workflow from @mbomb007's workarounds via the command line:

Normally code --new-window <path-to-folder> will not open a new window if that folder is the root of an existing window.

code --new-window <path-to-some-file> followed by code --add <path-to-folder> does the trick. I put a 1s delay between those commands.

Issue #2686 was closed with a recommendation for users to use the "Duplicate Workspace in New Window" workflow, but didn't include a CLI solution. I would have posted this workaround there, but it's locked.


B
Brad

You can also hit Win+Shift+[n]. N being the position the app is in the taskbar. Eg if it's pinned as the first app hit WIn+Shift+1 and windows will open a new instance and then you can drag the tab over to the new window.

Most convenient workaround for me so far.


F
Fattie

If you are using the excellent

VSCode for Mac, 2020

simply tap Apple-Shift-N (as in "new window")

Drag whatever you want there.