Can Visual Studio F5 publish changes to azure and open page - visual-studio

I have a Visual Studio 2013 web application project that publishes to an Azure Web Site. However, it only does so when I explicitly do a Publish command. Is there a way to configure VS so that if I change some files locally and hit F5 (Debug), it will publish the changed files to the website and then open the page I've designated? In other words, I shouldn't have to do Publish and then type F5, just F5.

I don't know if you're just looking for 1 keystroke to do everything, or if you're ok with a multi-keystroke approach as long as you don't have to right-click your project to publish.
Here's a summary of a multi-keystroke approach that I tried:
Keyboard shortcut to publish web app
Keyboard shortcut to launch browser with server URL
Details:
If you're just looking for a keyboard shortcut to publish and view (not necessarily F5) you can use the Publish short command, which includes 2 pairs of keys in rapid succession.
First, make sure that you have selected all the files in your project you want to publish in the Solution Explorer.
Then, press Alt and semicolon together, and immediately press Alt and P together.
Shortcut: Alt+; , Alt+P
Reference:https://msdn.microsoft.com/en-us/library/da5kh0wa.aspx
Normally, pressing F5 will launch the web app locally. In order to launch the published version, you could add a command under External Tools (accessed from the Tools menu) to launch a browser instance with a hard-coded server URL for your deployed application. Then, add a keyboard shortcut to trigger it.
To add a keyboard shortcut, click Tools->Options, expand Environment, then click on Keyboard. Add a command for Tools.ExternalCommandX, where X is the Xth external command in your list of external commands.
Reference: How can I add a custom command to Visual Studio?
Hope that helps!

You can create a new keyboard shortcut to publish your project to Azure and open your browser.
How to create a Publish... keyboard shortcut
Click the Tools menu, Options..., Keyboard (in the Environment section). In the Show commands containing text box, start typing ClassViewContextMenus.ClassViewProject.Publish and then select it. Next, click in the Press shortcut keys text box and type the shortcut you would like to use. I ended up using Ctrl+P, Ctrl+P (Global). To save, click the Assign button. You use it like Ctrl+PP (no need to hit Ctrl twice, just hold it down). I believe this command is tied to the Startup Project. You'll notice that this will only open the Publish window. You still have to click the Publish button or type Alt+P. After the publish completes, Visual Studio will open a new browser window automatically.
So all I have to do now is type Ctrl+PP, Alt+P to publish.

Related

Stop visual studio opening layout page everytime I refresh mvc web app

I'm using Visual Studio 2015.
If you create a new MVC project with all the basics it gives you (home controller, account controller, etc..), then press F5 to start it, visual studio shows the "_layout.cshtml" page in a preview window.
This gets rather frustrating if you're trying to make "on-the-fly" changes to a specific view, press F5 to refresh and see your changes, then alt-tab back to visual studio, only for it to have auto-previewed the layout page again.
How do you turn this feature off?
In Visual Studio, you should disable the checkbox for 'Enable browser link'.
I was able to reproduce on a new install. For me, the offender was "Web Essentials" extension. Try to disable and restart VS.
Also, it only happens with Edge's developer tools open. Haven't seen this with Firefox nor Chrome.
This is caused by the F12 Developer Tools where the page of the selected element in the DOM Explorer/Elements tab is automatically opened and synchronized in Visual Studio.
If you want to keep the Browser Link feature enabled, the F12 Developer Tools window open, and not lose your currently focused tab in Visual Studio, here's a work-around:
1. Right-click on the _Layout.cshtml tab in Visual Studio and select New Vertical Tab Group.
If you already have a tab group open, select Move to Next Tab Group.
2. Resize the splitter control of the tab group so that the tab group is barely visible.
3. Repeat these steps for all other files that automatically open in Visual Studio which disrupt your workflow.
I am unable to replicate your exact problem, but the following should disable the preview tab:
Type "preview" into Quick Launch
Select "Environment --> Tabs and Windows"
Disable "Allow new files to be opened in the preview tab"

Shortcut in Visual Studio to open solution in Windows file explorer?

Is there a keyboard shortcut in Visual Studio (currently using 2013) to open the solution (or a project) in the Windows file explorer?
Currently, I normally have to open up the Solution Explorer, right-click on my solution or a project and scroll down to 'Open Folder in File Explorer', but this becomes a time consuming task as I have to do it often (TortoiseGit not integrated with my IDE).
An improvement over #Walt_Ritscher's answer I found was to assign a keyboard shortcut to the File.OpenContainingFolder.
Instead of having to first select a project or solution from the solution project I can simply press a desired keyboard shortcut while any file is in focus (without having to open the Solution Explorer) and it will open the file location in Windows Explorer. This saves time if the focus in my solution explorer is on a file deep in the structure of my solution explorer since I don't have to scroll all the way back up to select a project/solution before hitting the keyboard shortcut.
Yes, you can add your own keyboard shortcut to open the folder.
Open the Tools/Options/Keyboard dialog. In the Show Commands Containing textbox, type OpenFolderIn and you will see the OpenFolderInFileExplorer command. Select the command, then assign a shortcut key. Move your cursor to the Press shortcut keys textbox.then press your desired key combination. In my example I chose Ctrl+Shift+'. Be sure and click the Assign button to memorize the shortcut key
Press OK and you're done.
For visual studio vs2017:
Ctrl+Shift+Alt+O

Visual Studio 2013 Publish Disable "Preview"

When I'm in VS I occasionally want to rapidly push changes. When I go to the "publish" prompt it forces a preview window. See below. I have to explicitly press "publish" again. Is there anyway to just straight publish?
Also is there a keyboard shortcut for this?
Show the Web One Click Publish toolbar and you can publish by clicking the Publish Web button
You can also create a keyboard shortcut for Build.PublishSelection which will display the publish dialog. Pressing Enter when the dialog shows will deploy using your default profile.

Visual Studio - Attach to process shortcut

When I want to debug I have to do Debug->Attach to Process -> Look for a process in the list -> Attach.
I was wondering if I can create some kind of a shortcut to do this for me?
The shortcut is Ctrl+Alt+P in Visual Studio 2005 and above.
The easiest way to do this is to write a macro which finds the DTE.LocalProcess you wan to target and automatically attach. For example
Public Sub AttachShortcut()
For Each proc In DTE.Debugger.LocalProcesses
If proc.Name = "what you're looking for" Then
proc.Attach()
Exit Sub
End IF
Next
End Sub
Note: This Stack Overflow Question is related and has a sample you may find useful
Attaching to a child process automatically in Visual Studio during Debugging
To enable the 'Attach to Process' toolbar button in Visual Studio 2013, 2015, 2017, 2019, and 2022
Right-click on any toolbar and click 'customize...'
Click the 'commands' tab
Click the 'Toolbar' radio button
Select the toolbar where you want your button to appear from the dropdown
Click the 'Add Command...' button
Select 'Debug' from the categories list on the left
Select 'Attach to Process' from the commands list on the right, and click ok. The button will appear on your selected toolbar.
Optionally, use the 'Move Up' and 'Move Down' buttons on the right to move your new button to your desired location within the toolbar. I keep mine just after the Debug button.
You can use the Alt key shortcut ALT+D,P to launch the "Attach to Process" window via Debug menu.
Once there, you can use your keyboard to search the list of Available Processes (e.g. type "w3wp" if you want to attach to an IIS app pool)
Writing a macro is one option, however it cannot deduct which process to attach to by itself.
Another nice solution is to map the "Attach to process" command to a shortcut key:
(Tools -> Options -> Environment -> Keyboard, type attach, like i did in this example, and select a shortcut key):
This answer should work for Visual Studio 2010.
I like having buttons to do this on my debug toolbar
https://gist.github.com/1406827
The gist contains a method for attaching to IIS (w3wp.exe) or ASP (aspnet_wp.exe) and also nunit (nunit-agent.exe). Instructions are included on how to add the macros to your debug toolbar.
For Visual Studio 2017, 2019, there is a ReAttach extension available. Very handy.
I use this built in "Shortcut"
ALT+D, P, W, ENTER
this opens the debug menu, selects attach to process, scrolls down to w3wp.exe and attaches.
It's long but should work in multiple visual studio versions with no setup required, with or without resharper and it works when running multiple IIS processes as you can choose which process to attach to.
Addins are probably a better way to do this now. I use one called "Attach to anything". You can find them in Visual Studio 2012. Go to "Tools" -> "Extensions and updates", search for "attach", and install "attach to anything".
Also see:
Automate "Attach to Process" in Visual Studio 2012
Alt+Shift+P to reattach the last attached process.
It works for me in Visual Studio 2017.
Personally I prefer to use Debugger.Launch() as suggested here
in this thread, because it doesn't need for references to the DTE (that's IDE-specific and must be explicitly referenced into the project to be used)
VS extensions
Debug Attach Manager
ReAttach
Resurrect
More: Search the VS Marketplace for "attach"
Keyboard
The attach to process shortcut is Ctrl+Alt+P in Visual Studio 2005 and above. You can then press the first letter of the process name you want, e.g. w for w3wp.exe and it'll jump to that, then Enter to attach.
You can use the Alt key shortcut ALT+D,P to launch the "Attach to Process" window via Debug menu.
Code
Add System.Diagnostics.Debugger.Launch() to your code
Current release is VS2015 at time of writing.
Go ahead and edit/extend this answer :-)

Blame source file from within visual studio

I'm using AnkSVN within Visual Studio 2010, and it covers ~95% of my SVN needs. The biggest missing feature is that I can't find a way to blame a file from directly within VS. The workaround I currently use is to right click on the file within the tablist, and select Open Containing Folder, and then right clicking on the file in Explorer to call Blame.
It's called Annotate in AnhkSVN.
Subversion -> Annotate in the context menu.
I didn't like AnkhSVN's Annotate feature. So I used the following:How to integrate TortoiseSVN into Visual Studio.
Content from above url:
If you're using Visual Studio, you can integrate TortoiseSVN commands to various context menus.
The first step is to add the TortoiseSVN commands as external tools, under the menu TOOLS->External Tools....
Add the name of the command, the path to TortoiseProc.exe and then the parameters for the command.
Use the VS variables wherever needed. Since I add my commands to the context menu of the open file tab, here's the parameters I used:
/command:blame /path:"$(ItemPath)" /line:$(CurLine)
/command:diff /path:"$(ItemPath)"
/command:log /path:"$(ItemPath)"
Notice the /line: parameter: this will make TortoiseBlame automatically scroll to the same line the cursor is located in the opened file in Visual Studio.
Now to add those new commands to the file tab context menu, go to TOOLS->Customize..., select the Commands tab, click the radio button Context menu and then select Other Context Menus | Easy MDI Document Window.
Now you have to select the commands. Problem is that the custom commands are not shown with their title but only as External Command X with X being the number of the external command.
In my case, the commands were number 9-11, you might have to do some trial-and-error here. Just add the commands you think are the ones you added and then check if the right ones show up in the context menu.
NOTE: In Visual Studio 2010 to add a command to the right-click menu of a document’s tab, first you’ll need to right-click on a Visual Studio document tab to work around a Visual Studio bug. (Otherwise the Easy MDI Document Window context menu doesn’t show up in the Customize dialog.) Source

Resources