Visual Studio v15.4.1 - undo feature [Ctrl]+[Click] "go to definition" - visual-studio

Prior to Visual Studio v15.4.1 [Ctrl] + [Mouse Left Click] would highlight (equivalent to double-clicking), which made copy and paste a convenient process.
F12: the keyboard shortcut for "Go to definition". ** this is what it does now **
double-click: selects / highlights the entire word. ** this is what it used to do **
Is there a way to revert the [Ctrl] + [Click] shortcut to go back to how it used to be?

Thanks to #Lord_Curdin - I ended up searching for the keyword "mouse" in the Visual Studio Options and found it.
You can disable the setting by going to:
→ Tools
→ Options
→ Text Editor
→ General
[ ] Enable mouse click to perform G̲o to Definition

Related

How to remap the Ctrl+Click "Go To Definition" short-key in the Productivity Power Tools (or maybe ReSharper)

I love the Productivity Power Tools extension for visual studio, however it has added the Ctrl+Click "Go To Definition" functionality, which is great and all, but my workflow makes me use the functionality when I don't want it.
When I want to copy something, I start marking some text, still holding down the mouse button, hold down Ctrl + C and then release the mouse button. The tool acknowledges this as a Go To Definition click, and I usually end up in the definition of String or whatever. I know I could just release the Ctrl button prior to the mouse-button; however, I have a hard time reconditioning myself from a habit I have had since forever.
Is there a way to remap the Ctrl + Click Go To Definition functionality, say, to Ctrl+Shift+Click? I know I can deactivate it by going to "Tools>Options>Productivity Power Tools>All Extensions"; however, I don't want to lose the functionality just make it work as I want it.
Edits:
This might be a ReSharper issue.
This post discusses something similar
Try going to ReSharper | Options -> Environment | Search & Navigation and turning off Go to declaration on <Control + Left click> in editor.
I don't have ReSharper. But I was able to turn this off in Visual Studio 2012. I found it in Tools - Options - Productivity Power Tools - Ctrl+Click Go To Definition.
Try menu Tools → Options → Productivity Power Tools (left menu) → Turn it off where it says Ctrl + Click Go To Definition on your right side.

Shortcut to rebuild solution in Visual Studio 2008

The shortcut to Build a solution in Visual Studio 2008 is Ctrl + Shift + B.
I would like to know the default shortcut to Rebuild the solution.
The command Build.RebuildSolution is not bound to any key combination in the standard profiles. However you can use the following trick to invoke it
Alt + B, R
This will navigate to the build menu via Alt + B and then R will select the Rebuild option
Another way is to do this:
Tools >> Options >> Environment >> Keyboard.
Locate the textbox decorated by the 'Show commands Containing' lable.
Type >> 'Build.Rebuild'
Select >> the rebuild type you want, you have two options to choose from.
Locate the textbox decorated by the 'Press shortcut Keys' lable.
Hit >> 'a key on your keyboard', i.e I used F6 for solution wide rebuild.
Click >> the assign button.
CLick >> O.K and to exit.
Finally load up a test project to test out the short cut.
In my installation, there is no default. I am configured for C#, it's possible other configurations will define this by default, but I don't think so. You can see if there is a key assigned by going to Tools -> Customize, clicking the Keyboard... button at the bottom and typing "Build.RebuildSolution" in the Show Commands Containing edit box. If there is a key assigned, it will show up at the bottom of the dialog.
There is no default shortcut to Rebuild Solution.
In addition to the ways mentioned in other answers you can perform the rebuild by
Create a Visual Studio Macro that rebuilds the solution and assign a keyboard shortcut to macro. The advantage of this approach is that you are no longer restricted by the commands provided in visual studio. You can create a custom operation like rebuild the solution, launch the application process and attach the visual studio debugger to the process. All this in a single keyboard shortcut!

How do you auto format code in Visual Studio?

I know Visual Studio can auto format to make my methods and loops indented properly, but I cannot find the setting.
To format a selection: Ctrl+K, Ctrl+F
To format a document: Ctrl+K, Ctrl+D
See the pre-defined keyboard shortcuts. (These two are Edit.FormatSelection and Edit.FormatDocument.)
Note for macOS
On macOS, use the CMD ⌘ key instead of Ctrl:
To format a selection: CMD ⌘+K, CMD ⌘+F
To format a document:
CMD ⌘+K, CMD ⌘+D
For Visual Studio 2010/2013/2015/2017/2019
Format Document (Ctrl+K,Ctrl+D), i.e. press&hold Ctrl, press&release K then tap D as it is a sequence
Format Selection (Ctrl+K,Ctrl+F)
Toolbar Edit -> Advanced (If you can't see Advanced, select a code file in solution explorer and try again)
Your shortcuts might display differently to mine as I am set up for C# coding but navigating via the toolbar will get you to your ones.
If it isn't working, look for errors in your code, like missing brackets which stop auto format from working
I have installed an extension named "Format document on Save" which formats the whole document every time you save it.
For installing it in Visual Studio 2015 or Visual Studio 2017, on Tools just click the "Extensions and Updates...":
And then just go to "Online" at the left panel and search for "Format document on save":
Go to menu Tools → Extensions & Updates and type "productivity" in search:
Install 'Productivity Power Tools 2015'
Restart Visual Studio.
Go to menu Tools → Options → Productivity Power Tools → Power Commands and check "Format document on save":
Note: In VS2022 we don't have power commands.
If anyone want to have "Format document on save" and "Remove and sort using on save" install Mads Kristensen extension for VS2022 https://marketplace.visualstudio.com/items?itemName=MadsKristensen.CodeCleanupOnSave
After installing this extension it will automatically "Format document on save", "Remove and sort using on save" and "Apply file header preferences".
If we want to customize default settings click on "Configure Code Cleanup" menu item to add/remove any available fixers.
Visual Studio 2019 & 2022
Format Document, While you're holding down Ctrl button, first press K then D
Format Selection, While you're holding down Ctrl button, first press K then F
or just click Edit => Advanced => Format Document / Format Selection
Follow the steps below:
Go to menu Tools
Go to Options
Go to the Text Editor options
Click the language of your choice. I used C# as an example.
See the below image:
You can define new key bindings by going to Tools → Options → Environment → keyboard:
On mac : Shift + Option + F
On ubuntu : Ctrl + Shift + I
SinceVisual Studio 2022 17.1 there is a builtin Feature to run code formatting on save (see devblogs.microsoft), meaning there is no need to install extensions like Format document on Save.
In Visual Studio 2017, 2019, 2022
Format Document is Ctrl + E, D.
But...if you want to add the Format Document button to a tool bar do this:
Right click on tool bar.
Select "Customize.."
Select the "Commands" Tab.
Select the "Toolbar" radio button.
Select "Text Editor" from the pull down next to the radio button (or whatever tool bar you want the button on)
Now...
Click the Add Command button.
Categories: Edit
Commands: Document Format
Click OK
I used to use these combinations. I automated this process on Save of a document. You can try my extension Format Document on Save.
If you display the HTML Source Editing toolbar, there is a "Format the Whole Document" button as well.
The solution provided in accepted answer does not apply to Microsoft Visual Studio 2012.
In case of Visual Studio 2012, the shortcuts are:
For a highlighted block of code:
Ctrl + K, Ctrl + F
For the document-wide formatting:
Ctrl + K, Ctrl + D
In Visual Studio 2019 , "Code Cleanup" (RunDefaultCodeCleanup) is more advanced (taken from ReSharper):
Ctrl + K, Ctrl + E
Options dialog box: Text Editor → C# → Code Style → Formatting
Auto formatting settings in Visual Studio
Select the text you want to automatically indent.
Click menu Edit → Advanced → *Format Selection, or press Ctrl + K, Ctrl + F. Format Selection applies the smart indenting rules for the language in which you are programming to the selected text.
Step (1): Ctrl + A
Step (2): Ctrl + K
Step (3): Ctrl + F
Under menu Tools → Options → Text Editor, then going to the Formatting → General section of whatever language you wish to format you will find General. Check all three formatting check-boxes.
Under menuTools → Options → Text Editor, then going to the TABS section of whatever language you wish to format you will find Indenting. Select Smart and it will activate automatic formatting whenever you use one of the closing elements ; ) } within that block.
There isn't any need for keystrokes.
You can add the buttons to your toolbar by clicking the little drop down arrow to the right of the last toolbar button, select "Add or Remove Buttons" and then click the buttons you want to add a tick to them. The button(s) you select will appear on your toolbar ...
Then you just select text and click the Increase Indent or Decrease Indent buttons. I tested this on Visual Studio 2013 only.
In newer versions, the shortcut for the document-wide formatting is: Shift + Alt + F
Right click:
It works in Visual Studio 2015, maybe earlier version.
The original question said "I cannot find the setting."
Simple answer is: Look at top menu, then
Edit --> Advanced --> Format Document
You will also see the currently assigned key strokes for that function. Nothing special to memorize. This really helps if you use multiple developer environments on different operating systems.
Select the data and the right click and you will find this option.
Format Document and Format Selection:
Just to further Starwfanatic and Ewan's answers, you can customise your IDE to add any button to any toolbar - so you can add the Format button (as the HTML Source Editing toolbar has) to any other toolbar (like Text Editing with all the other edit controls like increase/decrease indent).
Click the arrow to the right of the toolbar → Add or Remove Buttons → Customize... → Commands tab → button.
Document Format and Selection Format are both under the Edit group.
(Tested in Visual Studio 2010 and Visual Studio 2013)
Windows Shift + Alt + F
MacOS Shift + Option + F
Linux Ctrl + Shift + I
With the Continuous Formatting extension (commercial, developed by me), the code is formatted really automatically as you type.
Visual Studio Extension - CodeMaid is pretty fine.
In Visual Studio 2015 and 2017 for C# code.
Scroll to the end of the file
Remove the last "curly bracket", }
Wait until the line above it shows an error
Replace the "curly bracket", }
Fini. :)
If it's still not working then you can select your entire document, copy and paste and it will reformat.
So ...
Ctrl + A
Ctrl + C
Ctrl + V
This is the only thing that I have found that works in Visual Studio Community Edition on Mac.
It's Shift + Alt + F in Windows.
But you can always double check by doing following.
Go to menu View → Command Palette or press Ctrl + Shift + P
Search for Format Document
You can press that to Auto Format Code or its hot key, written in front of it.
You can also use the CodeMaid Extension.
You can get the extension from Visual Studio Market Place.
Here is the link to the extension. CodeMaid
If you can afford it (or if you're eligible for the 30-day free trial) JetBrains' ReSharper can reformat a whole project directory.
Just install → right-click a directory → select Cleanup Code from the context menu.

How can I disable ReSharper in Visual Studio and enable it again?

I installed ReSharper, and it works in Visual Studio, but how can I disable it?
Whenever I search in the ReSharper menu, I can't find a disable option.
You can disable ReSharper 5 and newer versions by using the Suspend Now button in menu Tools → Options → ReSharper.
If you want to do it without clicking too much, open the Command Window (Ctrl + W, A) and type:
ReSharper_Suspend or ReSharper_Resume depending on what you want.
Or you can even set a keyboard shortcut for this purpose. In Visual Studio, go to Tools -> Options -> Environment -> Keyboard.
There you can assign a keyboard shortcut to ReSharper_Suspend and ReSharper_Resume.
The Command Window can also be opened with Ctrl + Alt + A, just in case you're in the editor.
Bind ReSharper_ToggleSuspended to a shortcut key.
Steps:
Tools>Options
Click Keyboard on the left hand side
Type "suspend" in the "Show commands containing:" input box
Pick the "ReSharper_ToggleSuspended"
Press shortcut keys: and
Press the "Assign" button.
Binding ReSharper_ToggleSuspended to a shortcut key (in my case: Ctrl-Shift-Q) works very well. With ReSharper not supporting the async CTP yet (as of mid-2011), when dipping into the code the uses the async keyword, this shortcut is invaluable.
I always forget how to do this and this is the top result on Google. IMO, none of the answers here are satisfactory.
So the next time I search this and to help others, here's how to do it and what the button looks like to toggle it:
Make sure Resharper is currently enabled or the commands may fail.
Open package manager console via the Quick Launch bar near the caption buttons to launch a PowerShell instance.
Enter the code below into the Package Manager Console Powershell instance:
If you want to add it to the standard toolbar:
$cmdBar = $dte.CommandBars.Item("Standard")
$cmd = $dte.Commands.Item("ReSharper_ToggleSuspended")
$ctrl = $cmd.AddControl($cmdBar, $cmdBar.Controls.Count+1)
$ctrl.Caption = "R#"
If you want to add it to a new custom toolbar:
$toolbarType = [EnvDTE.vsCommandBarType]::vsCommandBarTypeToolbar
$cmdBar = $dte.Commands.AddCommandBar("Resharper", $toolbarType)
$cmd = $dte.Commands.Item("ReSharper_ToggleSuspended")
$ctrl = $cmd.AddControl($cmdBar, $cmdBar.Controls.Count+1)
$ctrl.Caption = "R#"
If you mess up and need to start over, remove it with:
$ctrl.Delete($cmdBar)
$dte.Commands.RemoveCommandBar($cmdBar)
In addition to adding the button, you may wish to add the keyboard shortcut
ctrl+shift+Num -, ctrl+shift+Num - that is: ctrl+shift+-+-
EDIT:
Looks like StingyJack found the original post I found long ago. It never shows up when I do a google search for this
https://stackoverflow.com/a/41792417/16391
If resharper is completely missing from the options menu, it could be because the extension itself has been disabled.
In Visual Studio 2017 ReSharper 2018.X.X can be enabled and disabled by going to Help > Manage Visual Studio Performance. Then select JetBrains ReSharper ... under Extensions.
In Visual Studio 2019, you would go under Extensions->Manage Extensions->Installed
You can add a menu item to toggle ReSharper if you don't want to use the command window or a shortcut key. Sadly the ReSharper_ToggleSuspended command can't be directly added to a menu (there's an open issue on that), but it's easy enough to work around:
Create a macro like this:
Sub ToggleResharper()
DTE.ExecuteCommand("ReSharper_ToggleSuspended")
End Sub
Then add a menu item to run that macro:
Tools | Customize...
Choose the Commands tab
Choose the menu you want to put the item on
Click Add Command...
In the list on the left, choose "Macros"
In the resulting list on the right, choose the macro
Click OK
Highlight your new command in the list and click Modify Selection... to set the menu item text etc.
You need to goto Tools-->Options--->Select Resharper--->Click on suspend now,to disable it
Now Resharper supports Suspend & Resume argument at devenv.exe
(ReSharper 2019.2.3)
Run VS & Suspend R#:
devenv.exe /ReSharper.Suspend
Run VS & Resume R#:
devenv.exe /ReSharper.Resume
Here's an example usage:
In case the solution did not help to just suspend resharper (STRG+R, STRG+R did still not work for example) I decided to disable the plugin and restart visual studio.
VisualStudio > Extras > Extensions > Resharper > Disable
https://learn.microsoft.com/en-us/visualstudio/extensibility/how-to-diagnose-extension-performance
In ReSharper 8:
Tools -> Options -> ReSharper -> Suspend Now
For ReSharper 2017.2.2, go to ReSharper | Options | Product and features.
Tools -> Options -> ReSharper (Tick "Show All setting" if ReSharper option not available ). Then you can do Suspend or Resume. Hope it helps (I tested only in VS2005)
Very simple steps:
Go to Extensions → Manage Extensions
Click on Installed section at the top left and search for "resharper"
You will see disable button over the extension, click to it then restart Visual Studio and that's it!

Is there a standard keyboard shortcut to build the current project in Visual Studio?

I know that Ctrl + Shift + B launches a solution build, but I would like a shortcut that just builds the current project. Is a custom shortcut my only option?
Edit: Looks like a custom shortcut is my only option as Shift + F6 does not work for me.
Assigning the shortcut to "Build.BuildOnlyProject" command doesn't seem to work in VS2008.
Assign the shortcut to "Build.BuildSelection". If you have a solution with several projects and files open from the various projects, whatever file you are currently editing will define the project that will be built when you use the assigned shortcut for "Build.BuildSelection".
You'll know the keyboard shortcut is working when you click the Build menu option and you see the keyboard shortcut on the menu itself.
btw - a restart/reboot is not required when assigning keyboard shortcuts.
custom shortcut depending on what keybindings you are using.....if you look in your menu it will tell you if you have a keybinding.
The other thing I have got used to, because I make use of ViEmu, is use the menu shortcuts. Which are actually quite quick to do, and are independent of bindings.
So to build your project you go Alt + B, U
You can use the shortcuts already established in the main menu that are navigated with the Alt key:
At least for VS2013:
Alt + B, B -> Build Solution
Alt + B, R -> Rebuild Solution
Alt + B, U -> Build current project
Alt + B, E -> Rebuild current project
For some reason after installing Resharper I couldn't get a global shortcut to work (tried several times!!!), but as long as what you want to do is on the main menu, there is always an Alt + "Letter1", "Letter2" combination to trigger whatever action you'd like :-)
For C# development:
F6 or Shift+Ctrl+B - Builds all the projects in the solution.
Shift+F6 - Builds the selected project and its dependencies.
Visual Studio 2015/17
ALT + B + E
ALT + B = Open Build Menu
E = Rebuild Current Project
for C# development. Tools -> Options. Select Keyboard, select additional keyboard mapping scheme to "Visual C# 2005". This mapping has F6 as standard shortcut.
VS 2012 has Shift + F6 already mapped for this. I was surprised to learn this.
For Visual Studio 2017 community, you can use Alt+b then press u to build your current project.
Details: ALT Switch to the main menu -> choose b for build -> u choose the option of build your_project_name from the drop list.
In Visual Studio 2019 this has been set to Ctrl+b
In Visual Studio 2017 and 2019, Shift + F6 works for me.
As Happy Mittal said (Alt + B + J) open a drop window that select the project build, but then i had to press enter instead the last "B" (VS 2017).
In Visual Studio 2015, Alt + B, H will build your solution and publish it.
Sometimes I have to use Visual Studio in a language different than English and the navigation using Alt and a combination of keys is different. If there is someone in the same situation, I found out that is more convenient to create a keyboard shortcut to have consistency among languages. I followed the instructions from https://evanjpalmer.wordpress.com/2013/08/20/build-selection-short-cut-for-visual-studio/ to create the keyboard shortcut:
To set this up:
Tools -> Options -> Environment -> Keyboard (Spanish: Herramientas -> Opciones -> Entorno -> Teclado)
Put the cursor in “Press Keyboard Shortcut Keys” and shift CTRL+SHIFT+B
In Show Commands Containing, type: Build.BuildSelection (Spanish: Compilar.Compilarselección)
Select Build.BuildSelection from the drop down list and hit apply
Put the cursor in “Press Keyboard Shortcut Keys” and shift CTRL+ALT+SHIFT+B
In Show Commands Containing, type: Build.BuildSolution
Select Build.BuildSolutionfrom the drop down list and hit apply
???
PROFIT!
In the Visual Studio options window, under "Keyboard", look for the "Build.BuildOnlyProject" command and you can set whatever you want.
press (Alt + B + J + B) these key combinations to build only current selected project of the solution (VS 2010).
It selects "Build" option from toolbar (Alt + B key ) , then goto "project only" (J key ) and then "Build Only XXX" project (B key).

Resources