如何打开 Visual Studio 代码的多个实例?

How do I open multiple instances of Visual Studio Code?

今天微软发布了 Visual Studio Code file/folder 编辑器。

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

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

Ctrl + Shift + N 会打开一个新的window,而 Ctrl+K 然后释放键,然后按 O 将在新窗口中打开当前选项卡window。然后,您可以使用菜单 FileOpen Folder 获得两个 Visual Studio 代码实例,每个 window 中有不同的文件夹.

+ Shift + N + K 对于 Mac.

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

您也可以创建一个空文件名的快捷方式

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

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

默认情况下,只会恢复您最近使用的 window,但是如果您将此设置更改为 all,Visual Studio 代码将重新打开其 windows自动。

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

使用

code -n

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

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

如果不行,重启VSCode

我喜欢打开 Visual Studio 来自 运行 prompt/dialog 的代码,使用甜美而简单的 cmd /c code -n。由于 运行 对话框还在每个用户的基础上维护您的命令历史记录,因此非常方便。一键前往 -

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

如果要打开同一个文件夹的多个实例,目前不支持。如果你想看到它的实现,请观看并支持这个 GitHub 问题:Support to open a project folder in multiple Visual Studio Code windows

Select菜单文件新建Window然后从菜单中打开其他文件夹新 window.

同一项目的多个实例

解决方法

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

lib
-components
-models
-helpers
tests

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

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

在 Linux 中(使用 Ubuntu 和 Kali Linux 测试)您还可以 右键单击​​ 扩展坞上的图块并 select New Window.

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

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

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

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

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

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

设置: window.openFilesInNewWindow - 如果设置为 on,文件将以新的 window 打开。 window.openFoldersInNewWindow - 如果设置为 on,文件夹将以新的 window 打开。

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

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

      C:\Apache24\htdocs\json2tree>code .

在您的项目根文件夹下执行命令 window。

首先 cd 到您的项目文件夹,

        C:\Apache24\htdocs\json2tree>

然后,输入

         code .

Ctrl + Shift + P 复制新工作区 Window 输入

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

在 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

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

要做到这一点,您可以结合使用这些技术:

最终结果:

在Windows

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

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

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

进行硬 link

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