ChatGPT解决这个技术问题 Extra ChatGPT

如何打开多个 Visual Studio Code 实例?

今天微软发布了 Visual Studio Code 文件/文件夹编辑器。

第一个限制是它似乎是一个单实例应用程序。

有没有办法获取多个实例,或者让它同时打开多个文件夹?

另请参阅这些用户发布的评论@支持在多个 VS Code 窗口中打开项目文件夹 · 问题 #2686 · microsoft/vscode · GitHub:Linux workaroundWindows workaround 使用硬链接 IMO,Windows 解决方法效果更好。

P
Peter Mortensen

Ctrl + Shift + N 将打开一个新窗口,而 Ctrl+K 然后释放键,按 O 将在新窗口中打开当前选项卡。然后,您可以使用菜单 File → Open Folder 在每个窗口中拥有两个具有不同文件夹的 Visual Studio Code 实例。

⌘ + Shift + N 和 ⌘ + K 对于 Mac。

可以在 here 中找到有用的键盘快捷键列表。


您还可以同时安装 VSCodium (github.com/VSCodium/vscodium/releases),它是 VSCode 的真正开源版本,无需 Microsoft 收集的跟踪/遥测数据。我使用 VSCode(禁用遥测)来查看/编辑常规 text/json/xml/sql 文件,并使用 VSCodium 作为 golang 的主要 IDE,这样做,我不会将工作区和单个打开的文件与 VSCode 混合。
只是为了澄清@Edenshaw 提到的内容。 VSCodium 不是 VSCode 的基础。 “这是一个脚本存储库,可自动将 Microsoft 的 vscode 存储库构建为具有社区驱动默认配置的免费许可的二进制文件。”所以它基本上只是修改了 VSCode 以删除遥测。我误会了一秒钟,以为这条评论是说 VSCode 是基于不同的开源项目,如 Chrome vs Chromium。
对于在同一个工作区中打开它来说,这不是一个好的解决方案。请参阅 Mike Glenn 的答案以获得更好、更简单的方法
O
Oranit Dar

利用

code -n

启动程序时。这“打开一个新的 Visual Studio Code 会话,而不是恢复以前的会话。” (from here)。

我使用它的方法是修改我的“代码”快捷方式以包含 -n 参数:

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

如果还是不行,重启VSCode


在 MacOS 上,这只会打开同一个会话。这是为我做的:while Ctrl+K then release the keys and press O would open the current tab in a new window
这应该是公认的答案
M
Mike Glenn

Ctrl + Shift + P 在新窗口中复制工作区 Enter

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


惊讶它是多么简单!没有扩展,没有额外的设置。谷歌搜索了很多答案,但 VSCode 在打开同一目录时仍会重用现有窗口。这个答案终于成功了!
这对我来说效果更好; vsc 的最新版本(撰写本文时为 1.52.1),如果您尝试使用 control shift n 或通过终端打开,在完全相同的文件夹上使用“code -n”打开,这不会重复(vsc 或 windows os是“智能”的,只是将前一个窗口带回到上下文中)。这种方式效果更好:)
这是我一直在寻找的
这正是我所需要的,应该更多地投票,甚至选择作为原始问题的答案。
由于队列已满,无法编辑原始答案。只是想添加对新mac用户的引用,mac使用cmd+shift+p,然后搜索Duplicate Workspace选项
P
Peter Mortensen

从菜单中选择菜单文件→新窗口,然后在新窗口中打开另一个文件夹。


P
Peter Mortensen

如果要打开同一文件夹的多个实例,则目前不支持。如果您希望看到此 GitHub 问题的实施,请观看并点赞:Support to open a project folder in multiple Visual Studio Code windows


如果您想将标签拖到它们自己的浮动窗口中,请观看并投票赞成这个 github 问题:github.com/Microsoft/vscode/issues/10121
This comment on a github issue 向您展示了如何复制工作区,这正是我所寻找的。可以使用它在同一文件夹中打开多个 Visual Studio Code 窗口。使用 "Duplicate Workspace in New Window" 命令。
P
Peter Mortensen

我喜欢从运行提示符/对话框打开 Visual Studio Code,而使用甜美而简单的 cmd /c code -n。由于运行对话框还基于每个用户维护您的命令历史记录,因此非常方便。一键即走——

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


Q
Quang Nguyen

在 Windows 中

按“Ctrl + Shift + P”将光标移动到“工作区:在新窗口中复制为工作区”行。单击该行上的设置图标以配置键绑定。将此命令分配给“Ctrl + Alt + D”(或您喜欢的其他键)。使用“Ctrl + Alt + D”打开多个实例。


在 Mac 上:Command + shift + P
哦,是的,也可以在 Linux 上运行!
H
HamedH

如果您将 VS Code 用于多种用途(C#、Python、数据库客户端等),将任务栏中的每个实例用不同的颜色和主题分开是很有用的。

要做到这一点,您可以使用以下技术的组合:

要在任务栏中使用单独的图标,请按照以下步骤操作(取自 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):从 https://下载便携版本:/ /code.visualstudio.com/docs/editor/portable(去下载页面链接并获取正确的 '.zip' 文件) 打开目录 {vscode_installation_dir}/resources/app 使用文本编辑器编辑文件 product.json(VS Code/ Notepad.exe/Notepad++ 或其他)找到键 win32AppUserModelId 将其值更改为您想要的值,然后保存文件:现在,如果您运行可执行文件,VS Code 的修改副本应该与其他 VS 代码保持分离Windows 任务栏。

从 https://code.visualstudio.com/docs/editor/portable 下载便携式版本(转到下载页面链接并获取正确的“.zip”文件)

打开目录 {vscode_installation_dir}/resources/app

使用文本编辑器(VS Code/Notepad.exe/Notepad++ 或其他)编辑文件 product.json

找到键 win32AppUserModelId

将其值更改为您想要的值,然后保存文件:

现在,如果你运行可执行文件,这个修改后的 VS 代码副本应该与 Windows 任务栏中的其他 VS 代码保持分离。

要更改 VS Code 主题颜色本身,请使用 Peacock (https://marketplace.visualstudio.com/items?itemName=johnpapa.vscode-peacock)

要更改任务栏图标,您可以使用 https://github.com/electron/rcedit(示例使用: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)

通过将图标固定到任务栏,您可以使用(Win 键 + 数字)的快捷方式轻松打开它们并在它们之间切换。

最后结果:

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


我只是想感谢你,因为这是我在搜索并排运行多个 Visual Studio 代码实例时想要解决的问题
便携模式!如果您想安装多个具有不同扩展的实例,这就是所谓的。感谢分享。
M
Mere Development

我来这里是为了了解如何让 VSCode (Mac OS) 在打开文件或文件夹并且 VSCode 已经在运行时创建一个新窗口。与 GitHub Atom 相同。上面的答案没有回答我的问题,我自己找到了答案,所以会分享。

设置:window.openFilesInNewWindow - 如果设置为 on,文件将在新窗口中打开。 window.openFoldersInNewWindow - 如果设置为 on,文件夹将在新窗口中打开。

使它表现得像 Atom 的好处:将 window.newWindowDimensions 设置为 maximised


T
Todd Smith

您还可以使用空文件名创建快捷方式

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

a
atreeon

同一项目的多个实例

解决方法

您无法打开同一文件夹的多个实例,但我发现的一种解决方法是打开不同的文件夹。

lib
-components
-models
-helpers
tests

所以,在这里我可能会在不同的窗口中打开组件、模型和测试,然后我可以在我的三台显示器上查看它们。

这听起来有点简单,但这对我帮助很大。


n
nlt

要打开从终端加载项目的新实例,只需键入 code <directory-path>


P
Peter Mortensen

从 0.9.0 版本开始,我们添加了一个新设置 window.reopenFolders 来控制 Visual Studio Code 是否应恢复上一个会话的所有文件夹。

默认情况下,只会恢复您处理的最后一个活动窗口,但如果您将此设置更改为 all,Visual Studio Code 将自动重新打开其窗口中的所有文件夹。


P
Peter Mortensen

您可以打开多个窗口(从菜单或再次运行 code 可执行文件)。

然而,不幸的是,目前似乎没有办法真正拥有单独的实例。例如,如果您打开了两个 shell,每个 shell 中都有不同的环境(不同的路径等),则为两者启动 code 将导致第二个窗口与第一个窗口共享相同的路径,并忽略启动它的环境.


R
Rich Armstrong

如果每个 VS Code 窗口通过不同的路径打开文件夹,则可以在同一个有效文件夹上打开多个 VS Code 窗口。例如,在 Windows 上,C:\Git\MyProject 中的项目可以在 VS Code 的一个实例中打开,而 \MyPC\c$\Git\MyProject 在另一个实例中打开。如果管理员共享 (c$) 不可用或不合适,则可以构建显式共享以提供必要的访问权限。

不,这不是一个理想的解决方案。


p
prosti

当您不知道 CTRL+SHIFT+N 快捷键时,最简单的方法是使用菜单:文件、新窗口

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


h
hoogw

2019年会自动开启一个新的session,vs-code的新实例。按类型

      C:\Apache24\htdocs\json2tree>code .

在命令窗口中,在您的项目根文件夹下。

首先 cd 进入你的项目文件夹,

        C:\Apache24\htdocs\json2tree>

然后,输入

         code .

P
Peter Mortensen

在 Linux(使用 Ubuntu 和 Kali Linux 测试)中,您还可以右键单击 Dock 上的磁贴并选择 New Window


l
linuxistsuper

在 Linux 上,您可以使用 --user-data-dir 参数运行它
我使用的是 VSCodium 版本,因此它具有不同的名称,但它也应该适用于标准版本

我将配置从 ~/.config/VSCodium 复制到新文件夹 VSCodium2
,现在可以运行第二个 codium 实例:

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

我还创建了一个新的 .desktop 文件:/usr/share/applications/VSCodium2.desktop
在其中我必须更改 NameExec 属性才能启动 VSCodium2

使用这些设置,我可以使用我的启动器运行多个实例

除了 .desktop 文件和位置之外,所有这些都应该适用于 Windows 和 Mac

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


P
Peter Mortensen

如果您将所有 JavaScript 文件放在一个文件夹下的多个文件夹中,效果非常好,这就是我所做的:

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


S
StickySli

我最简单的技巧是复制您用于工作区的 .code-workspace 文件,您基本上可以欺骗 VSCode 以拥有两个单独的窗口。

尽管如果要同步设置,则必须同步这两个文件。在 Windows 10/11 中,您可以使用提升的命令提示符(不是 Powershell)并使用 mklink /H Link Target 创建硬链接。

我试过使用符号链接,但它只是试图重新打开目标。通过硬链接,您可以修改工作区设置并将它们同步在一起!