我有一个文件 xyz.cpp 。我想在Visual Studio中打开这个文件的两个实例(BTW,我正在使用Visual Studio 2005)。我为什么要这样做?我想并排比较同一文件的两个部分。我知道如下的解决方法:
制作文件的副本。但问题是它不优雅,每次我面对这个时我都不想复制。
我可以将窗口分成两部分。拆分它的问题我只能水平拆分它。水平分割的结果是屏幕的右半部分是空白区域。
如果我能够垂直拆分它或打开同一个文件的两个实例,它会增加我可以比较的代码行数。
答案 0 :(得分:870)
这是怎么做的......
如果*窗口菜单中未列出新窗口,请注意该命令确实存在,即使在Visual Studio 2017中也是如此。使用菜单将其添加到 Window 菜单工具→自定义→命令。此时决定将新窗口命令放在何处,然后选择添加命令。
“2018年7月30日”更新
在Visual Studio代码版本1.25.1及更高版本中
方式1
您可以在侧面板(资源管理器)中左键单击文件,然后按 Ctrl + Enter 。
方式2
只需在Visual Studio代码侧面板(资源管理器)中右键单击您的文件,然后选择第一个选项打开到侧面。
答案 1 :(得分:67)
对于Visual Basic,HTML和JScript以及RDL表达式,PaulB's answer中提到的Window > New Window
选项被禁用。
但是,可以在注册表中更改选项以启用菜单项。
所有其他语言不限于单个代码窗口,因此您可以在不编辑注册表的情况下使用PaulB's answer。
转到以下注册表项。此示例适用于Basic(Visual Basic),但关键也适用于HTML,JScript和RDL表达式。
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Languages\Language Services\Basic
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Languages\Language Services\Basic
找到值Single Code Window Only
并执行以下操作之一:
这将启用“新窗口”菜单项,但在菜单中可能仍然无法显示。
添加菜单项
要实际看到New Window菜单项,我必须将其添加回菜单:
恢复注册表值
将其复制粘贴到记事本,另存为.reg文件并将文件导入注册表以恢复初始设置。
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Languages\Language Services\Basic] "Single Code Window Only"=dword:00000001
答案 2 :(得分:18)
打开文件(如果您使用多个标签组,请确保选择了您的文件。)
菜单窗口→拆分 (或者,在编辑器的垂直滚动条上方有一个小小的小块 - 抓住它并向下拖动)
这为您提供了同一文件的两个(水平)视图。请注意,任何编辑操作都会反映在两个视图上。
完成后,抓住拆分器并将其完全拖动(或菜单窗口→删除拆分)。
答案 3 :(得分:17)
您可以使用 Windows →新窗口选项复制当前窗口。有关详情,请参阅: Why I like Visual Studio 2010? Undock Windows
答案 4 :(得分:10)
答案 5 :(得分:8)
Luke's answer对我不起作用。尽管删除了注册表设置,但“新窗口”命令已在自定义设置中列出,但未显示在.js选项卡上下文菜单中。
所以我用过:
工具
自定义...
...键盘
向下滚动以选择Window.NewWindow
我按下并分配了快捷键, Ctrl + Shift + W 。
这对我有用。
====编辑====
嗯,“工作”太强了。我的键盘快捷方式确实在同一个JavaScript文件上打开了另一个选项卡,但是无助于它不会呈现内容;它只是一个空白的窗户!你可能会有更好的运气。
答案 6 :(得分:3)
Window 菜单,新的水平/垂直标签组会有。
答案 7 :(得分:3)
对于较新版本(例如Visual Studio 2017)
答案 8 :(得分:3)
打开文件后,转到命令窗口(菜单视图→其他Windows →命令窗口,或仅 Ctrl + Alt + A )
类型:
Window.NewWindow
然后
Window.NewVerticalTabGroup
为我工作(Visual Studio 2017)。
或使用菜单:
菜单窗口→新窗口
菜单窗口→新的垂直点击组
答案 9 :(得分:2)
使用Visual Studio 2013和VB.NET时,我发现您可以非常轻松地自定义菜单并添加"新窗口"命令 - 没有必要乱用注册表!
上帝只知道为什么微软选择不包含某些语言的命令......?
答案 10 :(得分:1)
对于文件类型,在垂直选项卡组中打开相同文件 (例如.vb文件),您可以
如果您在一个实例中保存到磁盘,则必须在切换到另一个实例时重新加载该文件。此外,如果您在两个实例中进行编辑,则必须在第二次保存时解决。 Visual Studio在两种情况下都会提示您使用各种选项。如果仅在一个实例中进行编辑,则可以简化您的生活。
答案 11 :(得分:1)
我没有Visual Studio 2005的副本,但此过程适用于Visual Studio 2008:
现在,您应该在单独的垂直选项卡组中有两个文件实例。
答案 12 :(得分:0)
我想出了一个可能产生原始答案中的结果的黑客。
如果你在源控件的两个窗口中有你想要的文件,你可以右键单击该文件并选择比较,你可以比较
如果您进行比较,您将有一个名为diff的新窗口,显示您文件的内容。
这当然不太理想,因为差异窗口将使用差异颜色污染文本。 注意:您可以比较要打开的文件和空文件,然后您将使窗口处于非常丑陋的绿色背景中。
这不是完美的,它是一个黑客,但它是我发现在两个窗口中真正拥有相同文件的唯一方法。
答案 13 :(得分:0)
答案 14 :(得分:0)