我有一个文件,xyz.cpp。我想在 Visual Studio 中打开这个文件的两个实例(顺便说一句,我使用的是 Visual Studio 2005)。我为什么要这样做?我想并排比较同一文件的两个部分。我知道解决方法,例如:
制作文件的副本。但问题是它并不优雅,我不想每次遇到这种情况时都复制。我可以把窗口一分为二。拆分它的问题是我只能水平拆分它。水平分割的结果是我屏幕的右半部分是空白。
如果我能够垂直拆分它或打开同一文件的两个实例,它将增加我可以比较的代码行数。
这是如何做到的......
从菜单中选择您想要两个 Select menu Window → New Window 副本的选项卡。右键单击新选项卡并选择新建垂直选项卡组
如果新窗口未在 *Window 菜单中列出,请注意该命令确实存在,即使在 Visual Studio 2017 中也是如此。使用菜单工具 → 自定义 → 命令将其添加到窗口菜单。此时决定在哪里放置新窗口命令并选择添加命令。
更新于“2018 年 7 月 30 日”
在 Visual Studio Code 1.25.1 及更高版本中
方式一
您可以在侧面板(资源管理器)中简单地左键单击文件,然后按 Ctrl + Enter。
方式二
只需在 Visual Studio Code 侧面板(资源管理器)中右键单击您的文件,然后选择打开到侧面的第一个选项。
对于 Visual Basic、HTML 和 JScript 以及 RDL 表达式,PaulB's answer 中提到的 Window > New Window
选项被禁用。但是,可以在注册表中更改选项以启用菜单项。
所有其他语言不限于单个代码窗口,因此您无需编辑注册表即可使用 PaulB's answer。
转到以下注册表项。此示例适用于 Basic (Visual Basic),但关键也适用于 HTML、JScript 和 RDL 表达式。 64 位操作系统:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Languages\Language Services\Basic 32 位操作系统:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Languages\Language Services\Basic 查找值 Single Code Window仅执行以下操作之一: 将其设置为 0 重命名值 删除值(小心!)
这将启用“新窗口”菜单项,但它可能在菜单中仍然不可见。
添加菜单项
要真正看到新窗口菜单项,我必须将其重新添加到菜单中:
工具 > 自定义... > 命令 > 添加命令...
选择“菜单栏”,然后在下拉菜单中选择“窗口”菜单
添加命令...>窗口>新窗口>确定
恢复注册表值 将此复制粘贴到记事本,另存为 .reg 文件并将文件导入注册表以恢复初始设置。
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Languages\Language Services\Basic] "Single Code Window Only"=dword:00000001
转到菜单 → 窗口 → 新窗口:
https://i.stack.imgur.com/cJplN.png
打开文件(如果您使用多个选项卡组,请确保您的文件被选中)。
菜单窗口→拆分(或者,在编辑器的垂直滚动条上方有这个小块 - 抓住它并向下拖动)
这为您提供了同一文件的两个(水平)视图。请注意,任何编辑操作都会反映在两个视图上。
完成后,抓住拆分器并将其一直向上拖动(或菜单 Window → Remove Split)。
如何在 Visual Studio 2019 中并排打开同一文件的两个实例:
打开文件。单击窗口-> 新窗口。应该使用相同的文件打开一个新窗口。单击窗口-> 新建垂直文档组。
https://i.stack.imgur.com/TUGN5.png
打开文件后,转到命令窗口(菜单视图 → 其他窗口 → 命令窗口,或者只是 Ctrl + Alt + A)
类型:
Window.NewWindow
接着
Window.NewVerticalTabGroup
为我工作(Visual Studio 2017)。
或使用菜单:
菜单窗口→新窗口
菜单窗口→新的垂直点击组
Luke's answer 对我不起作用。 “新窗口”命令已在自定义设置中列出,但未显示在 .js 选项卡上下文菜单中,尽管删除了注册表设置。
所以我用:
工具
定制...
键盘...
向下滚动以选择 Window.NewWindow
我按下并分配了快捷键,Ctrl + Shift + W。
这对我有用。
==== 编辑 ====
好吧,“工作”太强大了。我的键盘快捷键确实在同一个 JavaScript 文件上打开了另一个选项卡,但毫无帮助的是它不会呈现内容;它只是一个空白的窗口!你可能会有更好的运气。
我认为,窗口菜单,新的水平/垂直选项卡组就可以了。
在使用 Visual Studio 2013 和 VB.NET 时,我发现您可以非常轻松地自定义菜单并添加“新窗口”命令 - 无需弄乱注册表!
天知道为什么微软选择不包含某些语言的命令...?
对于较新的版本(例如 Visual Studio 2017)
选择要复制的窗口。
转到窗口选项卡,然后单击列表顶部的拆分。
完成后,再次单击它以将其关闭。
对于无法在垂直选项卡组中打开相同文件的文件类型(例如 .vb 文件),您可以
打开 2 个不同的 Visual Studio 实例
在每个实例中打开相同的文件
调整 IDE 窗口的大小并将它们并排放置以实现您的布局。
但是,如果您在一个实例中保存到磁盘,则在切换到另一个实例时必须重新加载文件。此外,如果您在这两种情况下都进行了编辑,则必须在第二次保存时解决。在这两种情况下,Visual Studio 都会向您提示各种选项。如果您只在一个实例中进行编辑,您会稍微简化您的生活。
我没有 Visual Studio 2005 的副本,但此过程适用于 Visual Studio 2008:
打开 xyz.cpp 以及其他一些文件。右键单击选项卡标题并选择新的垂直选项卡组。左键单击第一个选项卡组中的其他文件。再次通过解决方案资源管理器打开 xyz.cpp。
您现在应该在不同的垂直选项卡组中有两个文件实例。
https://i.stack.imgur.com/EDELN.jpg
我想出了一个技巧,可能会产生原始答案中预期的结果。
如果您在源代码管理的两个窗口中都有您想要的文件,您可以右键单击该文件并选择比较,您可以比较
如果您进行比较,您将有一个名为 diff 的新窗口,向您显示文件的内容。
这当然不理想,因为差异窗口会使差异颜色污染文本。注意:您可以将要打开的文件与空文件进行比较,然后您将看到窗口以非常难看的绿色背景。
这并不完美,它是一种 hack,但这是我发现在两个窗口中真正拥有相同文件的唯一方法。
由于问题太老了,不知道回答这个问题就像打死马跑还是不跑。但是如果有人使用 VSCode 1.62.1 或更高版本,要在另一个选项卡中查看相同的脚本,只需右键单击工具栏上的脚本名称并选择“向右拆分”(或向上/向下/向左拆分)。