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

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

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

是否有一种方法可以获得多个实例,或者让它同时打开多个文件夹?

182855 次浏览

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

Mac的 + 转变 + N + K

有用的快捷键列表可以在在这里中找到。

也可以用空文件名创建快捷方式

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

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

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

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

Enter image description here

使用

code -n

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

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

Visual Studio Code Shortcut

如果不行,重新启动VSCode

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

Enter image description here

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

如果您想打开同一文件夹的多个实例,则目前不支持。如果你想看到它的实现,请观看并为这个GitHub问题投票:支持在多个Visual Studio Code窗口中打开一个项目文件夹

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

同一项目的多个实例

解决方案

你不能打开同一个文件夹的多个实例,但我发现的一个变通办法是打开不同的文件夹。

lib
-components
-models
-helpers
tests

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

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

在Linux(用Ubuntu和卡莉Linux测试)中,你也可以右击 dock上的tile并选择New Window

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

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

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

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

当你不知道CTRL+转变+N快捷方式时,最简单的方法是使用菜单:文件,新建窗口

enter image description here

我来这里找出如何使VSCode (Mac OS)创建一个新的窗口时,一个文件或文件夹被打开,VSCode已经在运行。和GitHub Atom一样。上面的答案没有回答我的问题,但我自己找到了答案,所以将分享。

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

让它像Atom一样运行的额外奖励:将window.newWindowDimensions设置为maximised

2019年,它将自动打开一个新的会话,vs-code的新实例。 通过类型

      C:\Apache24\htdocs\json2tree>code .

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

第一张CD到你的项目文件夹,

        C:\Apache24\htdocs\json2tree>

然后,类型

         code .

Ctrl + 转变 + P在新窗口中复制工作区输入

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

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

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

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

我还创建了一个新的.desktop文件:/usr/share/applications/VSCodium2.desktop
在那里,我必须改变的名字执行属性来启动VSCodium2

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

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

enter image description here

如果你使用VS Code用于多种目的(c#, Python,数据库客户端等),用不同的颜色和主题在任务栏中分离每个实例是很有用的。

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

最终结果:

enter image description here

在Windows中

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

我最简单的技巧是只重复的你的工作空间使用的.code-workspace文件,你基本上可以欺骗VSCode有两个独立的窗口。

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

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