如何打开 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。然后,您可以使用菜单 File → Open 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
在那里我不得不更改 Name 和 Exec 属性 以启动 VSCodium2
通过这些设置,我可以 运行 我的启动器
多个实例
除了 .desktop 文件和位置之外,所有这些也适用于 Windows 和 Mac
如果您将 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 下载便携版(转到下载页面 link 并获取正确的“.zip”文件)
- 打开目录{vscode_installation_dir}/resources/app
- 使用文本编辑器(VS Code/Notepad.exe/Notepad++ 或其他)编辑文件 product.json
- 找到密钥 win32AppUserModelId
- 将其值更改为您想要的值,然后保存文件:
- 现在,如果您 运行 可执行文件,此修改后的 VS Code 副本应与 Windows 任务栏中的其他 VS Code 分开。
要更改 VS Code 主题颜色本身,请使用 Peacock (https://marketplace.visualstudio.com/items?itemName=johnpapa.vscode-peacock)
要更改任务栏图标,您可以使用 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)
通过将图标固定到任务栏,您可以使用(Win 键 + 数字)的快捷方式
轻松打开并在它们之间切换。
最终结果:
在Windows
- 按“Ctrl + Shift + P”
- 将光标移动到行“工作区:在新 Window 中复制为工作区”。
- 单击行上的设置图标以配置键绑定。
- 为此命令指定“Ctrl + Alt + D”(或您喜欢的其他键)。
- 使用“Ctrl + Alt + D”打开多个实例。
我最简单的技巧是 复制 您正在用于工作区的 .code-workspace
文件,您基本上可以欺骗 VSCode 有两个单独的 windows.
尽管如果要同步设置,则必须同步这两个文件。在 Windows 10/11 中,您可以使用提升的命令提示符(不是 Powershell)并使用 mklink /H Link Target
.
进行硬 link
我试过使用符号 link 但它只是试图重新打开目标。使用 hard link 您可以修改工作区设置并将它们同步在一起!
今天微软发布了 Visual Studio Code file/folder 编辑器。
第一个限制是它似乎是一个单实例应用程序。
有没有办法获取多个实例,或者让它同时打开多个文件夹?
Ctrl + Shift + N 会打开一个新的window,而 Ctrl+K 然后释放键,然后按 O 将在新窗口中打开当前选项卡window。然后,您可以使用菜单 File → Open 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
在那里我不得不更改 Name 和 Exec 属性 以启动 VSCodium2
通过这些设置,我可以 运行 我的启动器
多个实例除了 .desktop 文件和位置之外,所有这些也适用于 Windows 和 Mac
如果您将 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 下载便携版(转到下载页面 link 并获取正确的“.zip”文件)
- 打开目录{vscode_installation_dir}/resources/app
- 使用文本编辑器(VS Code/Notepad.exe/Notepad++ 或其他)编辑文件 product.json
- 找到密钥 win32AppUserModelId
- 将其值更改为您想要的值,然后保存文件:
- 现在,如果您 运行 可执行文件,此修改后的 VS Code 副本应与 Windows 任务栏中的其他 VS Code 分开。
要更改 VS Code 主题颜色本身,请使用 Peacock (https://marketplace.visualstudio.com/items?itemName=johnpapa.vscode-peacock)
要更改任务栏图标,您可以使用 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)
通过将图标固定到任务栏,您可以使用(Win 键 + 数字)的快捷方式 轻松打开并在它们之间切换。
最终结果:
在Windows
- 按“Ctrl + Shift + P”
- 将光标移动到行“工作区:在新 Window 中复制为工作区”。
- 单击行上的设置图标以配置键绑定。
- 为此命令指定“Ctrl + Alt + D”(或您喜欢的其他键)。
- 使用“Ctrl + Alt + D”打开多个实例。
我最简单的技巧是 复制 您正在用于工作区的 .code-workspace
文件,您基本上可以欺骗 VSCode 有两个单独的 windows.
尽管如果要同步设置,则必须同步这两个文件。在 Windows 10/11 中,您可以使用提升的命令提示符(不是 Powershell)并使用 mklink /H Link Target
.
我试过使用符号 link 但它只是试图重新打开目标。使用 hard link 您可以修改工作区设置并将它们同步在一起!