在一个Visual Studio会话中打开一个文件的两个实例

我有一个文件,xyz.cpp。我想在Visual studio中打开这个文件的两个实例(顺便说一下,我正在使用Visual Studio 2005)。我为什么要这么做?我想并排比较同一文件的两个部分。我知道一些变通方法,比如:

  1. 复制一份文件。但问题是它并不优雅,我不想每次遇到这种情况都复制。

  2. 我可以把窗户劈成两半。分割的问题是只能水平分割。水平分割的结果是屏幕的右半部分是空白。

如果我能够垂直拆分它,或者打开同一个文件的两个实例,就会增加我可以比较的代码行数。

169285 次浏览

窗口菜单,新建水平/垂直制表符组就可以了。

对于文件类型,在垂直选项卡组中打开相同的不能文件(例如.vb文件),您可以

  • 打开# EYZ0
  • 在每个实例中打开相同的文件
  • 调整IDE窗口大小;将它们并排放置以实现你的布局。

如果在一个实例中保存到磁盘,那么在切换到另一个实例时必须重新加载文件。此外,如果在两个实例中都进行了编辑,则必须在第二次保存时进行解析。在这两种情况下,Visual Studio都会提示您各种选项。如果只编辑一个实例,您将简化您的生活。

我没有visualstudio2005的拷贝,但是这个过程在visualstudio2008上是有效的:

  1. 打开xyz.cpp和其他文件。
  2. 右键单击标签页头并选择新的垂直标签组。
  3. 左键单击第一个选项卡组中的其他文件。
  4. 再次通过解决方案资源管理器打开xyz.cpp。

现在您应该在独立的垂直选项卡组中有两个文件实例。

打开文件(如果您正在使用多个选项卡组,请确保您的文件被选中)。

菜单窗口拆分 (或者,在编辑器的垂直滚动条上方有一个小圆点-抓住它并向下拖动)

这为您提供了相同文件的两个(水平)视图。注意,任何编辑操作都将反映在两个视图上。

一旦你完成了,抓住拆分器,并一直往上拖动(或菜单窗口删除分割)。

以下是如何做到这一点…

  1. 选择需要两个副本的选项卡
  2. 从菜单中选择菜单窗口新窗口
  3. 右键单击新选项卡并选择新建垂直标签组

如果新窗口没有在*Window菜单中列出,请注意该命令确实存在,即使在Visual Studio 2017中也是如此。使用菜单工具定制命令将它添加到窗口菜单。然后决定在哪里放置新窗口命令并选择添加命令

更新在2018年7月30日;

在Visual Studio Code版本1.25.1及更高版本中

方法1

你可以简单地在侧面板(资源管理器)中点击你的文件,然后按Ctrl + 输入

方法2

只需在Visual Studio Code侧面板(资源管理器)中右键单击文件,并选择第一个选项向侧面打开

对于Visual Basic, HTML和JScript和RDL表达式,PaulB的回答中提到的Window > New Window选项被禁用。 但是,可以在注册表中更改选项以启用菜单项

所有其他语言都不局限于单个代码窗口,因此您可以使用PaulB的回答而无需编辑注册表。

# EYZ0 # EYZ1

  1. 进入以下注册表项。这个例子是为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
    • 李< / ul > < / >
    • 找到值Single Code Window Only并执行以下操作之一:

      • 设置为0
      • 重命名值
      • 删除值(谨慎使用!)
      • 李< / ul > < / >

这将启用“新建窗口”菜单项,但它可能仍然不可见在菜单中。

添加菜单项

要真正看到新建窗口菜单项,我必须将它添加回菜单:

  • 工具>自定义…>命令>添加命令…
  • 选择“菜单栏”,在下拉菜单中选择“窗口”菜单
  • 添加命令…>窗口>新建窗口> OK
< p > # EYZ0 < br > 复制粘贴到记事本,另存为.reg文件,并将该文件导入到注册表中以恢复初始设置
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Languages\Language Services\Basic]
"Single Code Window Only"=dword:00000001

卢克的回答对我没用。“新建窗口”命令已经在自定义设置中列出,但在.js选项卡上下文菜单中没有显示,尽管删除了注册表设置。

所以我用了:

工具

自定义…

键盘…

向下滚动选择“窗口”。NewWindow

然后我按下快捷键,Ctrl + 转变 + W

这对我很管用。

====编辑====

“工作”这个词太强烈了。我的键盘快捷键确实在同一个JavaScript文件上打开了另一个选项卡,但它没有显示内容;它只是一扇空的白色窗户!你可能会有更好的运气。

当使用Visual Studio 2013和VB时。NET我发现你可以很容易地自定义菜单和添加“新建窗口”命令-没有必要打乱注册表!

天知道为什么微软选择不包括一些语言的命令…?

你可以使用窗户新窗口选项来复制当前窗口。详见:为什么我喜欢Visual Studio 2010?出坞Windows < / >

对于更新版本(如Visual Studio 2017)

  • 选择要复制的窗口。
  • 转到窗口选项卡,单击列表顶部的split。
  • 完成后,再次单击以关闭它。

点击菜单窗户新窗口:

Enter image description here

我想出了一个方法,可能会产生原来答案中预期的结果。

如果你在源代码控制的两个窗口中都有你想要的文件,你可以右键单击该文件并选择比较,你可以比较

如果你做比较,你会有一个叫做diff的新窗口,显示你文件的内容。

这当然不是理想的,因为差异窗口会有不同的颜色污染文本。 注意:你可以比较你想打开的文件和空文件,然后你会有一个非常难看的绿色背景的窗口

这不是完美的,这是一个黑客,但这是唯一的方法,我发现真正有相同的文件在两个窗口。

打开文件后,转到命令窗口(菜单视图其他窗口命令窗口,或者只是Ctrl + Alt + 一个)

类型:

Window.NewWindow

然后

Window.NewVerticalTabGroup

(Visual Studio 2017)。

或者使用菜单:

菜单窗口新窗口

菜单窗口新的垂直丝锥组

要处理一个长文件的两个部分,只需使用快捷键(Ctrl + \)或在选中的选项卡上单击分割编辑器窗口。图标在VS Code的右上角。 # EYZ0 < / p >

如何在Visual Studio 2019中并排打开同一个文件的两个实例:

  1. 打开文件。

  2. < p >点击# EYZ0。

  3. 一个新的窗口应该打开相同的文件。

  4. 点击Window -> New Vertical Document Group

< p >结果: # EYZ0 < / p >

由于这个问题太老了,不知道回答这个问题无异于徒劳无益。但如果有人使用的是VSCode 1.62.1或更高版本,要在另一个选项卡中看到相同的脚本,只需右键单击工具栏上的脚本名称,并选择“;拆分右键”。(或向上/向下/向左分开)。