ChatGPT解决这个技术问题 Extra ChatGPT

Visual Studio Code - 多个屏幕中同一项目的选项卡(编辑器)

使用多个屏幕我通常将多个类(文件)放在不同的屏幕中,这对我在重构、检查测试和比较更改时有很大帮助。 Visual Studio Code 不允许我将选项卡拖到窗口外并在(例如)另一个监视器中查看它。我检查了文档和插件,但我发现的唯一方法是打开两个窗口,指向同一个项目(文件夹)并将它们放在不同的屏幕上。我不喜欢这个解决方案,当我使用 TypeScript 观察代码更改时也会导致一些问题。

有什么建议吗?

我使用的是 Windows 10,最新版本的 VSCode。

如果您想在 github 上投票,这里有一个问题:github.com/Microsoft/vscode/issues/10121
谢谢你,我会做的!

N
Norcino

一个解决方案是按下 CTRL+K 并在释放 CTRL 后按下 O。这将在新窗口中打开当前文件。

我不喜欢这个解决方案的一些事情: - 拖放不起作用 - 创建一个新的 VS 代码实例,导致(对我)使用 180MB 的内存 - 打开文件需要几秒钟(很慢) - 文件在原始窗口中也保持打开状态

2019 年 3 月 20 日更新:

您可以在此处跟踪一个功能请求:

https://github.com/Microsoft/vscode/issues/10121

并解释为什么这很难在这里实现:

https://github.com/Microsoft/vscode/issues/10121#issuecomment-345770248

2019 年 3 月 20 日更新:

@Mär 强调的另一个重要副作用是:

在打开整个项目的窗口中打开文件时,IntelliSense 无法建立它所具有的引用


与此答案相关:随时按 CTRL+SHIFT+N 打开一个新的 VS Code 实例,然后您可以将选项卡拖入其中。
如果我按照这些说明使用 CTRL+KO 打开一个新的 VS Code 窗口,则 IntelliSense 无法建立在打开整个项目的窗口中打开文件时的引用。
在我的情况下 ctrl+k 只是打开搜索(与 ctrl + f 相同)
@dermoritz 执行 CTRL+SHIFT+P 这将在顶部打开对话框,输入您可能已经摆弄默认配置的“打开键盘快捷键”。您可以根据需要更改此设置并测试按键组合。快捷方式的名称是“在新窗口中打开活动文件”。请参阅:code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf
根据对该问题的最后评论,这是请求的第一个功能。该评论来自 2018 年底,距今已有两年多。谁在优先考虑 VS Code 的积压工作?我知道这可能很困难,但他们本可以在那个时候重写整个应用程序,对吧?
C
Community

简单的方法,但具有相同的缺点。将使用更多的内存和资源。是将您的项目包装在一个文件夹中。

这是最好的事情。就像现在一样!

=> 复制工作区。

打开命令面板 ctrl+shift+pF1。然后写 dupl

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

而已。

更多的

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

也更好更多

您可以打开一个新窗口(例如:ctrl+n

然后去 File > Add Folder To Workspace

并开始将文件夹添加到您的新工作区。您可以添加任何已打开或未打开的文件夹。这也太棒了。例如,您可以在第二个屏幕中拥有所有需要的文件夹。

快乐编码。


对此有一个小评论:“打开命令面板 ctrl+p。然后写 dupl”。你应该写 >dupl 我的意思是 >标记也很重要。
@SmartWaddles 这是我的错。这是一个拼写错误 (ctrl+shift+p)。我正在纠正那个。问题是打开命令托盘(我们也可以用 F1 打开它)。事实上,我知道我犯了这个错误。我说我会更新的。而且因为我的工作量很大。我忘了。十分感谢。现在更新了。
哦,没关系。感谢您的评论! :)
我的荣幸。也谢谢你。
这很有帮助,并且是解决问题的好方法。
I
Ivan

我发现以下方法可以在多台显示器上工作(重要:它们必须具有相同的大小和分辨率):

在第一台显示器(在我的情况下是左显示器)上以窗口模式打开一个 Visual Studio 通过单击“拆分编辑器”将窗口移动到(左)上角拉伸窗口到第二台显示器(右)下角拆分屏幕多次将代码段分隔符移动到监视器之间的边缘

这是老问题,但这种方式可能对某人有用。这不是很方便,但它确实有效。该解决方案可能已经出现在VS本身,但我没有找到它。


我使用了这种方法,但是很繁琐,并且没有提供与拥有独立窗口相同的好处,例如将其向左、向右移动或最小化/最大化。
这还不错(+1),但是当两个显示器的大小/分辨率不同时,窗口的第二个显示部分的文本内容可能太小/太大而无法使用。
此解决方案仅适用于所有显示器直接串联/水平且尺寸/分辨率相同的情况。我有不同物理尺寸和不同高度的 2K 和 4K 显示器——所以它根本无法工作。窗口的一部分要么在小显示器上不在屏幕上,要么在大显示器上被截断——这两者都不好。
我有 2 个尺寸相同的显示器,但在两者上我都使用中间垂直的 Windows 任务栏,所以不幸的是它停留在中间的 VSCode 窗口的顶部。
a
ak_linus

我使用的一个小技巧是仅拉伸编辑器窗口以填充两个屏幕并在监视器之间拆分视图窗格,以便两个屏幕仅显示一个打开的文件。

https://i.stack.imgur.com/08pXT.jpg

这是一个廉价的 hack,无需打开多个 VSC 实例即可工作。

它可能不是正确的解决方案,但它不会耗尽我所有的系统内存。


这似乎是让双方同步的唯一方法
如果显示器的分辨率不同,则很难。
V
VonC

Visual Studio Code 不允许我将选项卡拖到窗口外并在(例如)另一个监视器中查看它

实际上,VSCode 1.57(2021 年 5 月,4 年后)会提出一些接近的建议:

改进的跨窗口编辑器拖放支持在此版本中改进了对将编辑器拖动到其他窗口的支持。您现在可以将差异编辑器、自定义编辑器和整个编辑器组拖到另一个窗口以打开那里的编辑器。


我在 1.56.2 并且这已经在工作了,问题是您需要先打开一个新的 VSCode 实例,然后将文件放在那里,这意味着上述解决方案仍然是您第一次想要的最快的在新窗口中移动文件(然后在另一个屏幕中移动该窗口)。我很高兴真正拥有拖放体验(移动选项卡),从视频(和当前行为)看起来只是在目标窗口中打开同一个文件,创建一个副本,所以不是真正的 D&D
@Norcino 好的。我会检查1.57是否有任何区别。
不幸的是,如果使用远程容器,这不起作用,这是可以理解的,但我将它们用于我所有的开发工作。
@贾斯汀菲利普斯是的。那是不幸的。
这似乎是最快/最简单的方法,但这(连同上面的“在新窗口中复制工作区”答案)似乎并没有使我的文件的编辑保持同步。我在一个窗口中输入,但它没有反映在另一个窗口中(虽然它确实在同一窗口中的选项卡之间保持同步)。我想我至少可以将其用作仅查看。
R
Rithvik Nishad

我的解决方案是使用 Remote-ssh 连接到自己并在另一个窗口中打开。这确实需要额外的资源。但我觉得这很舒服,因为我不需要创建额外的工作空间。