Open two instances of a file in a single Visual Studio session - visual-studio

I have a file, xyz.cpp. I want to open two instances of this file in Visual studio (BTW, I am using Visual Studio 2005). Why would I want to do so? I want to compare two sections of the same file side by side. I know workarounds such as:
Make a copy of the file. But the problem is that it's not elegant, and I don't want to make copies every time I am faced with this.
I can split the window into two. The problem with split it that I can split it horizontally only. The result of a horizontal split is that the right half of my screen is white space.
If I were able to split it vertically or open two instances of the same file, it would increase the number of lines of code I can compare.

Visual Studio
Here's how to do it...
Select the tab you want two copies of
Select menu Window → New Window from the menu.
Right click the new tab and select New Vertical Tab Group
If New Window is not listed in the *Window menu note that the command does exist, even as of Visual Studio 2017. Add it to the Window menu using menu Tools → Customize → Commands. At that point decide where to put the New Window command and select Add Command.
VS Code
In Visual Studio Code version 1.25.1 and later
Way 1
You can simply left click on your file in the side-panel (explorer) and press Ctrl + Enter.
Way 2
Simply right click on your file in the Visual Studio Code side-panel (explorer) and select the first option open to the side.

For Visual Basic, HTML and JScript and RDL Expression, the Window > New Window option mentioned in PaulB's answer is disabled.
However an option can be changed in the Registry to enable the menu item.
All other languages do not restrict to a single code window so you can use PaulB's answer without editing the registry.
Enabling New Window in Windows Registry.[1] [2]
Go to the following registry key. This example is for Basic (Visual Basic), but the key is also there for HTML, JScript and RDL Expression.
64-bit OS: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Languages\Language Services\Basic
32-bit OS: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Languages\Language Services\Basic
Find the value Single Code Window Only and do one of the following:
Set it to 0
Rename the value
Delete the value (use caution!)
This will enable the "New Window" menu item, but it may still not be visible in the menu.
Adding Menu Item
To actually see the New Window menu item I had to add it back into the menu:
Tools > Customize... > Commands > Add Command...
Select 'Menu Bar' the select the 'Window' menu in the dropdown
Add Command... > Window > New Window > OK
Restoring Registry Value
Copy-paste this to notepad, save as a .reg file and import the file into your registry to restore the initial setting.
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Languages\Language Services\Basic]
"Single Code Window Only"=dword:00000001

Go to menu → Windows → New Window:

You can use the Windows → New Window option to duplicate the current window. See more at: Why I like Visual Studio 2010? Undock Windows

Open the file (if you are using multiple tab groups, make sure your file is selected).
Menu Window → Split
(alternately, there's this tiny nub just above the editor's vertical scroll bar - grab it and drag down)
This gives you two (horizontal) views of the same file. Beware that any edit-actions will reflect on both views.
Once you are done, grab the splitter and drag it up all the way (or menu Window → Remove Split).

How to open two instances of the same file side by side in Visual Studio 2019:
Open the file.
Click Window → New Window.
A new window should be open with the same file.
Click on Window → New Vertical Document Group.
Result:

With the your file opened, go to command window (menu View → Other Windows → Command window, or just Ctrl + Alt + A)
Type:
Window.NewWindow
And then
Window.NewVerticalTabGroup
worked for me (Visual Studio 2017).
Or using menus:
Menu Window → New Window
Menu Window → New vertical tap group

Luke's answer didn't work for me. The 'New Window' command was already listed in the customize settings, but not showing up in the .js tabs context menu, despite deleting the registry setting.
So I used:
Tools
Customize...
Keyboard...
Scroll down to select Window.NewWindow
And I pressed and assigned the shortcut keys, Ctrl + Shift + W.
That worked for me.
==== EDIT ====
Well, 'worked' was too strong. My keyboard shortcut does indeed open another tab on the same JavaScript file, but rather unhelpfully it does not render the contents; it is just an empty white window! You may have better luck.

Window menu, New Horizontal/Vertical Tab Group there will do, I think.

When working with Visual Studio 2013 and VB.NET I found that you can quite easily customize the menu and add the "New Window" command - there is no need to mess with the registry!
God only knows why Microsoft chose not to include the command for some languages...?

For newer versions (such as Visual Studio 2017)
Select the window you want to duplicate.
Go to the window tab and click on split at the top of the list.
When you are done, click it again to toggle it off.

For file types, where the same file can't be opened in a vertical tab group (for example .vb files) you can
Open 2 different instances of Visual Studio
Open the same file in each instance
Resize the IDE windows & place them side by side to achieve your layout.
If you save to disk in one instance though, you'll have to reload the file when you switch to the other. Also if you make edits in both instances, you'll have to resolve on the second save. Visual Studio prompts you in both cases with various options. You'll simplify your life a bit if you edit in only the one instance.

I don't have a copy of Visual Studio 2005, but this process works on Visual Studio 2008:
Open xyz.cpp along with some other file.
Right click on tab header and select new vertical tab group.
Left click on that other file in the first tab group.
Open xyz.cpp through solution explorer again.
You should now have two instances of file in separate vertical tab groups.

To work on two sections of one long file, simply use a shortcut (Ctrl + \) or click on the split editor window while you are on the selected tab. The icon is on the top-right of the Visual Studio Code.

Related

Open file in Visual Studio's split window which is already open in another window

using Visual Studio 2019 Community here.
I have two windows split vertically (that is to say, a window on the left and one on the right) and I have a bunch of .h files open in my left window.
If I'm currently in the right-hand window, and use ctrl+shift+t (or ctrl+tab) to select a file which is already in a tab on the left window, it will open that tab in the left window and re-focus my cursor to the left window.
This sucks.
Is there a shortcut to either:
a) Open that file again but in the right window which I'm currently focused on, or
b) Move a currently-focused tab on the left window over to the right window?
I largely try to avoid using my mouse when I'm programming, so I'm also using VsVim if that helps or makes a difference.
Thanks!
Looks like there are options for you to assign your own keyboard bindings.
Tools > Options > Environment - Keyboard
Assign shortcuts to Window.MoveToNextTabGroup and Window.MoveToPreviousTabGroup.

How can I re-instate Ctrl+D,C for the call stack window?

I'm running VS2012 Update 4, and ReSharper 9.2. I have chosen the VS shortcuts etc. in ReSharper, and on my menu, it still says that Call Stack is Ctrl+D, C. Yet if I use that shortcut, VS duplicates the current line and adds a 'c' into my source.
How can I get this shortcut working again? Navigating the menus is really cutting into my efficiency.
Resharper will map Ctrl+D to ReSharper.Resharper_DuplicateText. To re-map this, in Visual Studio go to Tools->Option...->Environment->Keyboard, type 'DuplicateText' in the 'Show commands containing:' text box, select 'Ctrl+D (Text Editor) from the 'Shortcuts for selected command:' and click the Remove button (or re-map it to another key combination).

how to hide all windows except editor window in Visual Studio 2013?

In Eclipse when you click twice on the tab of the editors Eclipse hide all other windows except the one you write code in and when you do that again(clicking the tab of the document all windows comeback again).
Is there a similar feature in Visual Studio 2013?
Update: I found Auto Hide in Window Menu, but I don't want auto hide, I want to click something to hide windows and click again to show them.
As a programmer i love shortcut keys which is very helpful for productive work. I've search question as you mentioned. But i did not get proper answer. then i've searched solution for me which might helpful to you.
Step 1: Go to visual studio
Step 2: From tool menu open Options menu
Step 3: Go Environment -> Keyboard
Step 4: Select item Window.AutoHideAll from list
Step 5: Set short cut in "Press shortcut keys textbox". I've set Ctrl+Alt+] then click on Assign & then ok.
Step 6: Final step. Use above shortcut to hide all window other than editor window.
View | Full Screen
(In my key bindings: shift+ctrl+enter.)
However, double clicking on an editor tab also works, this is provided by one of the extensions I use, but I'm not sure which.)
Richards answer does work, but has the side effect of maximizing the whole of Visual Studio as well. Sometimes (e.g. when comparing editor text to some other text), I would like Visual Studio to only take half the screen. A solution I found in Visual Studio 2019 was:
Window | Save Window Layout (call it something like Normal layout)
Unpin all the other panes you don't want to see, ToolBox, Solution Explorer, Build Results etc. Typically Left, Right and Bottom
Window | Save Window Layout, call it say maximized Editor.
Window | Apply Window Layout, you can choose Normal or Maximized editor
Visual Studio assigns these shortcut keys automatically of Ctrl+Alt+1 and Ctrl+Alt+2 to the first two Apply Window Layout choices

'Property pages' tab is missing in VS2010

On the right of VS2010, there is normally a group of tabs, like the solution explorer and the property pages tab. It seems that the tab to access the property pages is missing.. How can I get it back? This must be easy.
The tabs will only appear if more than one window is docked at the same spot. If you don't see them then you either have undocked the window or closed them. Closing be the more likely case here, use the View menu to get them back. Or Windows + Reset Window Layout if you're completely lost.
Click on the Project name in the Solution Explorer and then press F4. The Properties window/tab should now appear.
Note that this Properties tab is different than the one shown if you right click the project name and then click "Properties."
Under View Dropdown menu, should be there.
Or right click on the app in design mode and click properties.
Close your visual studio and open the Visual Studio Command Prompt (from window Start -> Programs -> Visual Studio XXXX -> Visual Studio XXXX Tools) and enter "devenv /setup".
If you want to dock one below the other it's a two step operation. You need to start with the two windows not connected together at all.
1) dock the first window on the right hand side of the application. This should fill all of the vertical space available.
2) make sure the second window is floating then drag it towards the first. When the arrows appear move the mouse over the down arrow and the second window should snap below the first.

What is the best way to bookmark positions in code in Visual Studio 2008/2010?

I find myself going to about five or six main places in my code 80% of the time and would like a way to go to them fast even if all files are closed.
I would like to be able to open up a solution in Visual Studio and without any files open, see a list of self-labeled bookmarks like this:
LoadNext
Settings page refresh
app.config connections
app settings
stringhelpers top
stringhelpers bottom
I click one of these and it opens that file and jumps to that position.
How can I best make bookmarks like this in Visual Studio 2008/2010?
Use task list shortcuts:
On a line in text editor use keys (ctrl + k, ctrl + h) this will add a task list shortcut.
Open task list tool window.
In task list tool window select "short cuts" in the drop-down list.
The task list will the show a list of lines where you made a task list shortcut, whit the text from that line.
Why not use the Bookmarks feature? I have the Bookmarks window at the bottom of my Visual Studio window, collapsed. You can view this by going to View -> Other Windows -> Bookmark Window (in VS 2008, anyway).
You can add a bookmark to any line of code; it will then appear in the Bookmarks window. You can then rename the bookmark to whatever you want. It doesn't matter if the file is open or not.
I'm assuming you want this on a per-solution basis rather than a generic set of bookmarks that know how to find a particular type of file. The approach above would seem to be what you want. It seems like Visual Studio remembers a set of bookmarks for each solution; I guess they're stored in the .suo file.

Resources