How to change CodeLens key bindings in VS 2019? - keyboard-shortcuts

I use more than one machine to do programming work in C#/Visual Studio 2019. All is well except the fact that some key bindings are different.
The problem I have is with CodeLens show references popup which by default is activated by Alt + 2 shortcut. However on my other machine the same function is bound to Alt + 3 shortcut, which of course is the source of my frequent mistakes when I need to switch.
Obviously I'd prefer to have the same shortcut on both machines. Therefore my question is about possible ways to change key bindings for Codelens show references popup function.
I have been looking at Options -> Environment -> Keyboard in Visual Studio settings but could not find anything even remotely related to CodeLens show references popup feature.
Any suggestions how to change that binding?

Related

How do I jump to matching brace in VS 2019?

As best as I can tell, Visual Studio 2019 completely removed the ability to jump to matching brace.
I tried the hotkey I've been using for years (Ctrl-]) and it changes indent instead (why would I need that? This is C#, not Python). I also tried looking up the KeyMap (Environment->Keyboard) setting and searching for match, and there was nothing relevant. As far as I can tell, Microsoft has completely removed this feature, but I wanted to confirm that Fattie and I are not the only ones with this problem.
(for reference, here is the question for VS 2008 whose answer no longer works because the default keyboard shortcut has changed.)
EDIT: The setting still exists, but has been renamed to not contain the all-important keyword "match". See accepted answer.
The control is still there.
Go to Tools -> Options -> Environment -> Keyboard and lookup Edit.GotoBrace to see the current key combination for this feature:
You can set the key combination from the pictured menu.
just for the ones among us with non-us keyboard. On my keyboard, I need to press 'AltGr' to access "]". Therefore Ctrl+] doesn't work. Interestingly, VS has already compensated for that problem and changed the hotkey to Ctrl+`, which works nicely for me. You just need to know the hotkey has changed (depending on your keyboard).
Hope this saved a few minutes of your time ;)
Regards,
Eleusius.
On a Finnish/Swedish keyboard the Edit.GotoBrace field is mapped to Ctrl+Å

Setting shortcut values in VBE using CTRL key

As you may know, in the VBE if you right click on the tool bar and select customize, then right click on a tool bar button you can add an ampersand (&) in front of a letter to create a shortcut using the ALT key.
Is it possible to set a shortcut using the CTRL key? If so, what's the symbol?
The & ampersand isn't a shortcut or configurable hotkey, it's an accelerator key, which behaves that way (i.e. responds to the Alt key) at a rather low level, consistently across anything running on Windows.
No, you can't make accelerator keys work with the Ctrl key - the VBE has no say in that.
What you want is to assign a hotkey to certain IDE commands.. unfortunately the VBE doesn't allow configuring its hotkeys as far as I know.
You could write a VBIDE add-in (in VB6 if 32-bit-only is fine, or in .NET through COM interop for compatibility with 64-bit hosts) that enhances the VBE with such an ability though, but as the main project manager for Rubberduck (which does have configurable hotkeys for its own commands) I have to say that writing a .NET VBIDE add-in is a bit of a mine field. It's fun though =)

Idea shortcut 'Go To Implementation(s)' doesn't work

I faced a very strange problem: in someday(I don't really know when) the shortcut
Ctrl+Alt+B stoped working. This shortcut is just Go To Implementation(s). I still can do it by Ctrl+Alt+Mouse1.
I opened settings, to check how is this shortcut configured - all looks fine for me. So I tried to remove Ctrl+Alt+B and add the same combination again.
In Enter Keyboard Shortcut window I have to press key's so the IDEA would be able to set this shortcut. But I cannot record these combination, I still can record Ctrl+B, Ctrl+Alt+Shift+B, Alt+B, but not the right combination.
I looked at idea log file, but there was nothing criminal.
I wonder if some other application catches this combination, but I doesn't know how to find this application.
PS. I run my Idea on win7
By the way you're describing it, I strongly believe that the problem is not related to the IDE itself but probably some other program listening for that same key combo in a global level.
Its common to lose some keybinding after installing new applications or drivers. For example, I've lost some key bindings in my IDE after installing drivers for Intel Integrated Graphics. The driver was "stealing" hotkeys like Ctrl + Alt + < arrow > used to rotate the screen.
Double check for newly installed or updated programs/drivers, and make sure that they don't have any shortcut that may be conflicting with your IDE.
Also, you might use Hotkey Commander to verify which program is handling your Ctrl+Alt+B.

How do I change the default cmd key for keyboard shortcuts in Pharo 3.0?

I'm trying to bind the cmd key in Pharo 3.0 to another key because my system (linux+xmonad) already uses the alt key for other things.
I am trying to bind cmd key, currently mapped to alt, to the win/super/meta key.
I changed method defaultModifier in UnixPlatform class, from:
defaultModifier
^KMModifier control
to:
defaultModifier
^KMModifier meta
But nothing changed. Should I do something else?
There is no easy way to change it in the image short of manually rewriting the shortcuts, because there are many tools that define the shortcut explicitly for each platform by themselves plus there no consensus on what the default shortcut for linux should be (right now it is ctrl and alt).
However this is something that might be tackled in the next version (=5) (4 was released today).
I had to change my dwm (xmonad predecessor) keybinding to the "win" key because of it. (On the plus side it has freed alt, so I can now use alt for example to switch tabs in Chrome and many other.)
There are two places where you might want to make changes:
either at the vm level, where you could change the keyboard event handling (not recommended)
in the keymapping packages you'll find the code to deal with the different key combinations. The different packages then add shortcuts using this mechanism.

Visual Studio 2013 - F10 / F11 stopped working on upgrade?

I just upgraded my Visual Studio from 2012 to 2013 and haven't done anything else yet short of installing all the updates recommended.
For whatever reason, when I go into my solution and press F10 or F11, it runs the entire program as if I had pressed F5... F8 works the way F10 used to, but I don't know why the keys I've always used now don't.
I set up visual studio as a VB environment.
How can I fix this?
Thanks!!!
Additional Info:
Just to add on as much information as I can, if I set a breakpoint in my code, then I can use F10 / F11 to continue stepping through my code once the breakpoint is hit and execution is stopped as would be expected.
EDIT 2013-12-31:
Based upon a comment made by Neolisk, it appears this is simply a change in default behavior in Visual Studio 2013... If anyone knows how to change this back to the way it was in 2012, that would be GREATLY appreciated, but at least I now know it's not an error / installation issue.
If 2013 works the same as previous versions, then do the following:
Navigate to Tools > Import and Export Settings
Choose "Import selected environment settings"
On the next screen, choose to save your current setings if you want to.
When you get to the point where you can import, just select "General Development Settings"
That should set everything back to what you're probably used to. Most people are set up using general settings and either don't realize it or just forget.
EDIT: If your issue is that the program executes when you press F10 or F11 when you are not debugging, then I think you might be out of luck. It's done that to me personally since VS 2008 (I'll frequently miss the F12 key when I'm in a hurry), and, after some searching, I think it actually happens to everyone:
Visual Studio - Prevent F11 from starting the debugger?
My guess is that this is a side-effect of not being able to set contextual hot keys based on whether you are or are not debugging. Since F10 and F11 are tied to debug-execution-related operations, my guess is that Visual Studio realizes that it needs to be debugging to process them, and thus starts the program.
ANOTHER EDIT: Of course, it's also possible that you had the scheme set to something else entirely in VS2012. Check out all of Visual Studio's pre-defined hotkeys by environment here: http://msdn.microsoft.com/en-us/library/da5kh0wa(v=vs.120).aspx
If none of those have the mappings that you're used to for F8, F10, or F11, then it's possible that you or an add-on may have had few custom hotkeys defined.
Worst-case scenario, you can simply redefine your shortcuts manually by key in the keyboard settings: Tools > Options > Environment > Keyboard
It sounds like you are in VB settings and not C#. You should try changing your settings to one or the other and see if those debug options change. On my machine
Tools - Import Export Settings - Reset All Settings - C# (If you want F10/F11) VB if you want F8/Shift-F8. It doesn't matter what your settings are you can still code in both languages, but if you are used to pressing F10 to debug VB.NET code you've been using C# settings this whole time. Nothing new with Visual Studio in this regard. I am using VS2013 Ultimate, have been using Visual Studio since VS2003.
The first image is VB.net, second is C# settings
You can try some of these reset settings:
And different combinations thereof, i.e. ResetToBasic first. If does not help, try ResetToC#, then back to Basic. Then try General, back to Basic. See if you can hack your way through like this.
EDIT: I tried my VS 2012, and compared to VS 2013. What you described is completely normal. VS 2012 used to step in Form_Load and similar on F10 and F11, VS 2013 no longer does it. So it seems like your VS 2013 is working as expected.
Microsoft probably has a reason to not allow to step into a property by default.
Properties are supposed to be mostly get and set and not contain a whole lot of implementation in it. But that may not be the case all the time.
If somebody is trying to step into a property that means this developer is suspecting something in that property that may be causing problems. So by default this behavior needs to be reversed and allow stepping into properties.
For now this is how you can enable stepping into properties.
Go to Tools > Options menu in Visual Studio.
Goto Debugging > General menu item in left pane.
In right view you will see and option Step over properties and operators (Managed only). Uncheck this option and then you are all set.
Enable step into properties in Visual Studio Debugger
If the above didn't work then follow this
In the Options.Keyboard page, please select "Debug.StepOver" from the command listbox, and then put focus to the "Press shortcut keys" textbox and press F10, click Assign button to re-assign shortcut, does it work?
You can also try to run Visual Studio under safe mode, which will prevents all third-party VSPackages from loading when Visual Studio starts; if the issue disappear under safe mode, you may consider checking your installed add-ons or VSPackages.
Second, to log all activity of Visual Studio to a log file for further troubleshooting, please use the /Log switch, and post the log file content here, so we can do more investigation on it.
If this feature works well before, and suddenly behave abnormally, it usually indicate that some files or configurations of Visual Studio installation is corrupted or missed, you can:
Restores Visual Studio default settings by using "Devenv.exe /ResetSettings" command. Please backup your settings before restore to default settings.
Repair/reinstall Visual Studio;
To repair Visual Studio In the Add or Remove Programs dialog box, select Visual Studio then click Change/Remove.
I found I had to run VS as Administrator to debug properly. I also do a clean solution prior to debugging, especially on x64 machines. If you put a manual debug breakpoint in the code and the IDE indicates it can't stop at that point, then it's possible that the debugger is out of sync with the source code.
An idea to test it in a short way:
Create a Hello World console app.
1 Module Module1
2
3 Sub Main()
4 Console.WriteLine("Hello")
5 End Sub
6
7 End Module
Build first.
Put the cursor in line 4 (before each step), commands should start Debug Mode if you are in Design Mode.
F10 (StepOver): Should break on line 3
F11 (StepInto): Should break on line 3
CTRL+F10 (RunToCursor): Should break on line 4
If it is working properly: Maybe the assembly which containing the entry point of your program had modified and wasn't been rebuilded, or there is somthing other problem with the point where the control expected to break.
If it doesn't work as expected on the sample, I think you should ask on MSDN FORUM or make a bug report.
I don't know why they might have intent to change this behavior.
It is working for me in my 2013 Express Edition with C# recently.
I found what I think is an acceptable workaround for the non-functioning F10/F11 Keys. They are probably the most used keys in stepping through code, and it is a real pain to click on debug and select the key from the dropdown.
I got around this shortcoming by adding icons to the toolbar for these operations.
If you are not sure how to do this, On the Debug toolbar click on the down pointing arrow near the right side of the bar. Click on Add or remove buttons.
Select Customize...
Select Add Command
Select Debug
Scroll down to the desired key (Step over / Step into)
You once clicked, you will see the two icons added at the left side
of the toolbar, Unfortunately they are the same Icon, but with a
little use, you should be able to select the right key to click on.
I actually prefer this method to trying to remember which function key
to press.
On many branded laptops, there is an extra button "Fn", Press "Fn" and "Esc" together. Functional keys will be enabled in visual studio.
Kindly press Fn key and Esc (with Lock with Fn label).
Sometimes it gets locked and Media Player buttons get activated.
Sounds stupid to ask but what type of keyboard do you have? I know some keyboards have different modes that allow you to set different profiles for keys based upon the application. I use the feature with my Microsoft Natural keyboard. However I have had problems with the profile still being active when I switch into Visual Studio and then F10, etc doesn't work correctly.
I faced the problem that F10/F11 doesn't work but the breakpoint works.
Once I uninstall the Security Software and unload the relevant drives it works again.
So my advice is that. And I guess it's due to the drives, so if these don't work just try to unload those questionable drives may connected with this question.
Using Logitech MX 3000 Keyboard, I've upgraded to the last setpoint version and these keys work now perfectly. (Driver version 5.90.41)