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

Par*_*gon 537 editor visual-studio

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

  1. 制作文件的副本.但问题是它不优雅,每次我面对这个时我都不想制作副本.

  2. 我可以将窗口分成两部分.拆分它的问题我只能水平拆分它.水平分割的结果是屏幕的右半部分是空白区域.

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

Pau*_*ulB 891

这是怎么做的......

  1. 选择您想要两份副本的选项卡
  2. 从菜单中选择菜单窗口新窗口.
  3. 右键单击新选项卡,然后选择" 新建垂直选项卡组"

如果*窗口菜单中未列出新窗口,请注意该命令确实存在,即使在Visual Studio 2017中也是如此.使用菜单工具自定义命令将其添加到窗口菜单.此时决定放置New Window命令的位置并选择Add Command.

更新于"2018年7月30日"

在Visual Studio代码版本1.25.1和更高版本中

方式1

您可以在侧面板(资源管理器)中左键单击文件,然后按Ctrl+ Enter.

方式2

只需在Visual Studio代码侧面板(资源管理器)中右键单击您的文件,然后选择打开侧面的第一个选项.

  • 如果您有一些屏幕空间可用,如第二个监视器,您也可以将新选项卡拖出Visual Studio,然后在第二个监视器中查看它. (50认同)
  • 您只能对某些文件类型执行此操作...例如,您不能在同一.xaml文件上打开两个窗口.这是一个无赖,因为这就是我想要做的! (4认同)
  • @ Shlomi.A.试试[卢克的答案](http://stackoverflow.com/questions/728949/open-two-instances-of-a-file-in-single-visual-studio-session/7396899#7396899) (4认同)
  • 对于WPF中的XAML,新窗口选项就不存在了. (2认同)
  • 此方法有效,但在我的VS 2010上,快捷键[Ctrl] [Shift] [N]被绑定到File> New> Project (2认同)

Luk*_*ann 67

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

所有其他语言都不限于单个代码窗口,因此您可以不编辑注册表情况下使用PaulB的答案.

在Windows注册表中启用新窗口.[ 1 ] [ 2 ]

  1. 转到以下注册表项.此示例适用于Basic(Visual Basic),但关键也适用于HTML,JScript和RDL Expression.

    • 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
  2. 找到该值Single Code Window Only并执行以下操作之一:

    • 将其设置为0
    • 重命名该值
    • 删除值(小心!)

这将启用"新窗口"菜单项,但它仍可能在菜单中不可见.

添加菜单项

要实际看到New Window菜单项,我必须将其添加回菜单:

  • 工具>自定义...>命令>添加命令...
  • 选择"菜单栏",在下拉列表中选择"窗口"菜单
  • 添加命令...>窗口>新窗口>确定

恢复注册表值
将此文件复制粘贴到记事本,另存为.reg文件并将文件导入注册表以恢复初始设置.

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Languages\Language Services\Basic]
"Single Code Window Only"=dword:00000001

  • 在VS2010中,翻转JScript的注册表位允许为JavaScript文件(yay)打开第二个选项卡,但在每个选项卡(boo)中都会呈现除白色之外的任何选项卡. (3认同)
  • 即使在添加注册表项之后,也无法用于C#. (2认同)

小智 18

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

菜单窗口分割 (交替地,在编辑器的垂直滚动条上方有一个小小的小块 - 抓住它并向下拖动)

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

完成后,抓住拆分器并将其完全拖动(或菜单窗口删除拆分).

  • 似乎没有读OP,他提到他知道这件事. (7认同)
  • (斯里兰卡:对不起,'水平',如在视图'行中对齐...或一个视图高于另一个).AFAIK,垂直(并排)视图是不可能的. (2认同)

mas*_*sih 17

您可以使用Windows新窗口选项复制当前窗口.查看更多:为什么我喜欢Visual Studio 2010?取消Windows


Kis*_*man 13

转到菜单Windows新窗口:

在此输入图像描述


Gus*_*ler 11

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

类型:

Window.NewWindow
Run Code Online (Sandbox Code Playgroud)

进而

Window.NewVerticalTabGroup
Run Code Online (Sandbox Code Playgroud)

为我工作(Visual Studio 2017)。

或使用菜单:

菜单窗口? 新窗户

菜单窗口? 新的垂直点击组


Tai*_*mad 9

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

  1. 打开文件。

  2. 单击Window -> New Window

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

  4. 单击Window -> New Vertical Document Group

结果: 在此处输入图片说明


dum*_*dad 8

卢克的回答对我不起作用.尽管删除了注册表设置,但"新窗口"命令已在自定义设置中列出,但未显示在.js选项卡上下文菜单中.

所以我用过:

工具

定制...

键盘...

向下滚动以选择Window.NewWindow

然后我按下并指定了快捷键Ctrl+ Shift+ W.

这对我有用.

====编辑====

嗯,'工作'太强了.我的键盘快捷方式确实在同一个JavaScript文件上打开了另一个选项卡,但是无助于它不会呈现内容; 它只是一个空白的窗户!你可能会有更好的运气.

  • 谢谢.这适用于VS2012/VB.net.打开的工具 - 选项 - (在环境下)键盘 - 从下拉列表中选择visual basic 6 - 从命令列表中选择Window.NewWindow - 按下ctrl + n,ctrl + w (3认同)

Ant*_*lev 5

我想,窗口菜单、新水平/垂直选项卡组就可以了。

  • AFAI 看到,您无法在不同的选项卡组中打开同一文件 (8认同)