ChatGPT解决这个技术问题 Extra ChatGPT

How do I open multiple instances of Visual Studio Code?

Today Microsoft released the Visual Studio Code file/folder editor.

The first limitation is it appears to be a single-instance application.

Is there a way of getting multiple instances, or otherwise having it open multiple folders simultaneously?

See also the comments posted by these users @ Support to open a project folder in multiple VS Code windows · Issue #2686 · microsoft/vscode · GitHub: Linux workaround and Windows workaround The windows workaround works better with a hard link IMO.

P
Peter Mortensen

Ctrl + Shift + N will open a new window, while Ctrl+K then releases the keys, and pressing O would open the current tab in a new window. You can then use menu File → Open Folder to have two instances of Visual Studio Code with different folders in each window.

⌘ + Shift + N and ⌘ + K for Mac.

List of helpful keyboard shortcuts can be found here.


You can also install VSCodium (github.com/VSCodium/vscodium/releases) alongside, which is the real open-source version of VSCode, without the tracking/telemetry data collected by Microsoft. I use VSCode (with telemetry disabled) for viewing/editing general text/json/xml/sql files and VSCodium as the main IDE for golang and by doing so, I don't mix workspaces and single opened files with VSCode.
Just to clarify what @Edenshaw mentioned. VSCodium is not what VSCode is based upon. "This is a repository of scripts to automatically build Microsoft's vscode repository into freely-licensed binaries with a community-driven default configuration." So it's basically just VSCode modified to remove the telemetry. I misunderstood for a second on thought that this comment was saying VSCode is a based off of a different open-source project like Chrome vs Chromium.
This is not a good solution for having it open in the same workspace. See Mike Glenn's answer for a better and simpler approach
O
Oranit Dar

Use

code -n

when launching the program. This "Opens a new session of Visual Studio Code instead of restoring the previous session." (from here).

The way I used this was by modifying my "Code" shortcut to include the -n parameter:

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

If it does not work, restart VSCode


On MacOS this just opens the same session. this did it for me: while Ctrl+K then release the keys and press O would open the current tab in a new window
This should be the accepted answer
M
Mike Glenn

Ctrl + Shift + P Duplicate Workspace in New Window Enter

from: https://code.visualstudio.com/updates/v1_24#_duplicate-workspace-in-new-window


Surprised how simple it is! No extension, no additional settings. Googled many answers but VSCode still reuses the existing window when opening the same directory. This answer finally did the trick!
this works wayyy better for me; the newest version of vsc (1.52.1 at time of writing) if you try to open with control shift n or via the terminal on with "code -n" on the exact same folder this doesn't duplicate (vsc or the windows os is "smart" and just brings the previous window back into context). this way works way better :)
This is the one i was looking for
This is exactly what I needed, should be voted up way more or even selected as THE answer to the original question.
Couldn't edit the original answer due to queue being full. Just wanted to add reference to new mac users, use cmd+shift+p for mac, and then search for Duplicate Workspace options
P
Peter Mortensen

Select menu File → New Window from the menu and then open the other folder in the new window.


P
Peter Mortensen

If you want to open multiple instances of the same folder, then it is not currently supported. Watch and upvote this GitHub issue if you want to see it implemented: Support to open a project folder in multiple Visual Studio Code windows


If you want to drag tabs off into their own floating windows, watch and upvote this github issue: github.com/Microsoft/vscode/issues/10121
This comment on a github issue shows you how you can duplicate a workspace, which is what I was looking for. It is possible to use this to open multiple windows of Visual Studio Code in the same folder. Use the "Duplicate Workspace in New Window" command.
P
Peter Mortensen

I like opening Visual Studio Code from the run prompt/dialog instead, with a sweet and simple cmd /c code -n. Since the run dialog also maintains your command history on a per user basis, it is very convenient. One click and go -

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


Q
Quang Nguyen

In Windows

Press "Ctrl + Shift + P" Move the cursor to the line "Workspaces: Duplicate As Workspace in New Window". Click the setting icon on the line to configure the keybinding. Assign "Ctrl + Alt + D" (or other keys as you like) to this command. Use "Ctrl + Alt + D" to open multiple instances.


on Mac: Command + shift + P
Oh yeah, works on Linux too!
H
HamedH

In case you are using VS Code for multiple purposes ( C#, Python, Database client, etc.), it's useful to separate each one instances in taskbar with different colors and themes.

To getting that you can use combination of these techniques:

For having separated icons in taskbar follow these steps (taken from https://www.reddit.com/r/vscode/comments/fkplzc/how_do_i_prevent_vscode_portable_copies_from/fkulriu?utm_source=share&utm_medium=web2x&context=3): Download portable version from https://code.visualstudio.com/docs/editor/portable (go to download page link and get proper '.zip' file) Open directory {vscode_installation_dir}/resources/app Edit the file product.json with a text editor (VS Code/Notepad.exe/Notepad++ or whatever) Locate the key win32AppUserModelId Change its value to what you want it to be, and save the file: Now, if you run the executable, this modified copy of VS Code should remain separate from other VS Codes in the Windows Taskbar.

Download portable version from https://code.visualstudio.com/docs/editor/portable (go to download page link and get proper '.zip' file)

Open directory {vscode_installation_dir}/resources/app

Edit the file product.json with a text editor (VS Code/Notepad.exe/Notepad++ or whatever)

Locate the key win32AppUserModelId

Change its value to what you want it to be, and save the file:

Now, if you run the executable, this modified copy of VS Code should remain separate from other VS Codes in the Windows Taskbar.

For changing the VS Code theme color itself use Peacock (https://marketplace.visualstudio.com/items?itemName=johnpapa.vscode-peacock)

For changing taskbar icon you can use https://github.com/electron/rcedit (sample use: https://www.reddit.com/r/vscode/comments/fkplzc/how_do_i_prevent_vscode_portable_copies_from/fky786v?utm_source=share&utm_medium=web2x&context=3)

By pining the icons to the taskbar you can use shortcut of (Win key + Numbers) to easily open and switch between them.

Final Result:

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


I just wanted to thank you because this is the problem I was looking to solve when I searched running multiple instances of visual studio code side by side
Portable mode! That's what it's called if you want to have multiple instances with different extensions installed. Thanks for sharing.
M
Mere Development

I came here to find out how to make VSCode (Mac OS) create a new window when a file or folder is opened and VSCode is already running. The same as GitHub Atom does. The answers above haven't answered my query, bit I've found answer myself so will share.

Setting: window.openFilesInNewWindow - if set to on, files will open in a new window. window.openFoldersInNewWindow - if set to on, folders will open in a new window.

Bonus to make it behave like Atom: Set window.newWindowDimensions to maximised.


T
Todd Smith

You can also create a shortcut with an empty filename

"%LOCALAPPDATA%\Local\Code\Code.exe" ""

a
atreeon

Multiple instances of the same project

WORKAROUND

You cannot open multiple instances of the same folder but a workaround I have found is to open different folders.

lib
-components
-models
-helpers
tests

So, here I might open components, models and tests in different windows and then I can view them on my three monitors.

It sounds a bit simple but this has helped me a lot.


n
nlt

To open a new instance with your project loaded from terminal, just type code <directory-path>


P
Peter Mortensen

Starting with our 0.9.0 release, we added a new setting window.reopenFolders to control if Visual Studio Code should restore all folders of the previous session.

By default only the last active window you worked on will be restored, but if you change this setting to all, Visual Studio Code will reopen all folders in their windows automatically.


P
Peter Mortensen

You can open multiple windows (from the menu or by running the code executable again).

However, unfortunately there seems to be no way to actually have separate instances at the moment. For example, if you have two shells open with different environments in each (different paths, etc.), launching code for both will result in the second window sharing the same paths as the first, and ignoring the environment it was launched from.


R
Rich Armstrong

Multiple VS Code windows can be opened on the same effective folder if each opens the folder through a different path. For example, on Windows, a project in C:\Git\MyProject could be open in one instance of VS Code, while \MyPC\c$\Git\MyProject is open in another instance. If the admin share (c$) isn't available or suitable, an explicit share can be constructed that provides the necessary access.

No, this isn't an ideal solution.


p
prosti

Easiest when you don't know the CTRL+SHIFT+N shortcut is to use the menu: File, New Window

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


h
hoogw

In 2019, it will automatically open a new session, new instance of vs-code. By type

      C:\Apache24\htdocs\json2tree>code .

at the command window, under your project root folder.

first cd into your project folder,

        C:\Apache24\htdocs\json2tree>

then, type

         code .

P
Peter Mortensen

In Linux (tested with Ubuntu and Kali Linux) you can also right click the tile on the dock and select New Window.


l
linuxistsuper

On Linux you can run it with the --user-data-dir parameter
I'm using the VSCodium version, therefore it has a different name but it should also work for the standard version

I copied the config from ~/.config/VSCodium to a new folder VSCodium2
and can now run a second instance of codium:

codium --user-data-dir ~/.config/VSCodium2

I've also created a new .desktop file: /usr/share/applications/VSCodium2.desktop
In there I had to change the Name and Exec property to launch VSCodium2

With these settings I can run the multiple instances with my launcher

Apart from the .desktop file and the locations, all of this should also work for Windows and Mac

https://i.stack.imgur.com/8DUI6.png


P
Peter Mortensen

If you have all your JavaScript files in multiple folders under one folder that works out very well, and that's what I did:

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


S
StickySli

My easiest trick is to just duplicate the .code-workspace file you are using for your workspace and you can essentially trick VSCode to have two separate windows.

Although if you want to synchronize the the settings, you will have to sync the two files. In Windows 10/11 you can use an elevated command prompt (not Powershell) and make a hard link using mklink /H Link Target.

I've tried using a symbolic link but it just tries to reopen the target. With a hard link you can modify the workspace settings and have them synched together!