我有一个文件,xyz.cpp . 我想在Visual Studio中打开这个文件的两个实例(BTW,我使用的是Visual Studio 2005) . 我为什么要这样做?我想并排比较同一文件的两个部分 . 我知道的解决方法如下:
-
制作文件的副本 . 但问题是它不优雅,每次我面对这个时我都不想制作副本 .
-
我可以将窗口分成两部分 . 分裂它的问题我只能水平分割它 . 水平分割的结果是屏幕的右半部分是空白区域 .
如果我能够垂直拆分它或打开同一个文件的两个实例,它会增加我可以比较的代码行数 .
13 回答
这是怎么做的......
选择您想要两份副本的选项卡
从菜单中选择菜单窗口→新建窗口 .
右键单击新选项卡,然后选择“新建垂直选项卡组”
如果*窗口菜单中未列出新窗口,请注意该命令确实存在,即使在Visual Studio 2017中也是如此 . 使用菜单工具→自定义→命令将其添加到窗口菜单 . 此时决定放置New Window命令的位置并选择Add Command .
在Visual Studio代码版本1.25.1和更高版本中
Way 1
您可以在侧面板(资源管理器)中左键单击文件,然后按Ctrl Enter .
Way 2
只需在Visual Studio代码侧面板(资源管理器)中右键单击您的文件,然后选择打开侧面的第一个选项 .
对于Visual Basic,HTML和JScript以及RDL表达式,PaulB's answer中提到的
Window > New Window
选项被禁用 . 但是,可以在注册表中更改选项以启用菜单项 .所有其他语言不限于单个代码窗口,因此您可以在不编辑注册表的情况下使用PaulB's answer .
Enabling New Window in Windows Registry. [1] [2]
转到以下注册表项 . 此示例适用于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
找到值
Single Code Window Only
并执行以下操作之一:将其设置为0
重命名该值
删除值( use caution !)
这将启用“新窗口”菜单项,但它仍可能在菜单中不可见 .
Adding Menu Item
要实际看到New Window菜单项,我必须将其添加回菜单:
工具>自定义...>命令>添加命令...
选择'Menu Bar'在下拉列表中选择'Window'菜单
添加命令...>窗口>新窗口>确定
Restoring Registry Value
将其复制粘贴到记事本,另存为.reg文件并将文件导入注册表以恢复初始设置 .
打开文件(如果您使用多个选项卡组,请确保选中您的文件) .
菜单窗口→拆分(交替地,有's this tiny nub just above the editor' s垂直滚动条 - grab 并向下拖动)
这为您提供了同一文件的两个(水平)视图 . 请注意,任何编辑操作都会反映在两个视图上 .
完成后, grab 拆分器并将其完全拖动(或菜单窗口→删除拆分) .
您可以使用Windows→新窗口选项复制当前窗口 . 查看更多:Why I like Visual Studio 2010? Undock Windows
Luke's answer didn 't work for me. The '新窗口'命令已在自定义设置中列出,但未显示在.js标签上下文菜单中,尽管删除了注册表设置 .
所以我用过:
工具
定制...
键盘...
向下滚动以选择Window.NewWindow
我按下并分配了快捷键,Ctrl Shift W.
这对我有用 .
====编辑====
嗯,'工作'太强了 . 我的键盘快捷方式确实在同一个JavaScript文件上打开了另一个选项卡,但是它无益于它不会呈现内容;它只是一个空白的窗户!你可能会有更好的运气 .
转到菜单→Windows→新窗口:
我认为,窗口菜单,新的水平/垂直标签组会有 .
使用Visual Studio 2013和VB.NET时,我发现您可以非常轻松地自定义菜单并添加“新窗口”命令 - 无需弄乱注册表!
上帝只知道为什么微软选择不包括某些语言的命令......?
对于较新的版本(例如Visual Studio 2017)
选择要复制的窗口 .
转到窗口选项卡,然后单击列表顶部的拆分 .
完成后,再次单击它以将其关闭 .
对于文件类型,在垂直选项卡组中打开同一文件 can't (例如.vb文件),您可以
打开 2 different instances of Visual Studio
在每个实例中打开相同的文件
调整IDE窗口的大小并将它们并排放置以实现布局 .
如果您在一个实例中保存到磁盘,则必须在切换到另一个实例时重新加载该文件 . 此外,如果您在两个实例中进行编辑,则必须在第二次保存时解决 . Visual Studio在两种情况下都会提示您使用各种选项 . 如果仅在一个实例中进行编辑,则可以简化您的生活 .
我没有Visual Studio 2005的副本,但此过程适用于Visual Studio 2008:
打开xyz.cpp以及其他一些文件 .
右键单击选项卡 Headers ,然后选择新的垂直选项卡组 .
左键单击第一个选项卡组中的其他文件 .
再次通过解决方案资源管理器打开xyz.cpp .
您现在应该在单独的垂直选项卡组中有两个文件实例 .
打开文件后,进入命令窗口(菜单视图→其他Windows→命令窗口,或只需按Ctrl Alt A)
类型:
然后
为我工作(Visual Studio 2017) .
或者使用菜单:
菜单窗口→新窗口
菜单窗口→新的垂直抽头组
我提出了一个可能产生原始答案中的结果的黑客攻击 .
如果您在源控件中的两个窗口中有所需的文件,则可以右键单击该文件并选择比较,您可以比较
如果您进行比较,您将有一个名为diff的新窗口,显示您文件的内容 .
这当然不是理想的,因为差异窗口将具有污染文本的差异颜色 . 注意:您可以比较要打开的文件和空文件,然后您将在非常丑陋的绿色背景中显示窗口 .
这不是完美的,它是一个黑客,但它是我发现在两个窗口中真正拥有相同文件的唯一方法 .