45

Is there a way to prevent Visual studio to start the debugger when pressing F11? I often press it by mistake when I want to actually press F12. I do not want to loose the functionality of Step-into which F11 provides but it is annoying when it starts the application.

Supun Wijerathne
  • 11,964
  • 10
  • 61
  • 87
Dalibor Čarapić
  • 2,792
  • 23
  • 38

4 Answers4

6

This is for VS 2010, but it should be similar for others.

In Tools->Options, open Keyboard under Environment. Look up the command Debug.StepInfo. You can remove the default shortcut (F11 (Global)) and then just use the toolbar button to step into, or right click and "Step into specific"--which is what I do since it keeps the debugger from diving into STL functions if they're part of a line of code (as an example).

cvanbrederode
  • 372
  • 3
  • 11
5

A hack-around that I use is to use the cancel build command after I accidentally hit F11. The default shortcut is ctrl+pause/break.

This doesn't stop F11 starting a build, but should stop it from running your program.

Steve
  • 4,415
  • 1
  • 19
  • 30
4

Updated to link to latest Tweaks 2022. Also see the comment below.

This is the suggestion on Microsoft's VS Community forum. Tweaks was built by none less than VS project manager Mads Kristensen himself and directly fixes this issue, among many other VS annoyances. Free extension Tweaks:

Don't start debug on F10/F11 Inspired by the suggestion Please provide a way to disable F10/F11 until debug mode is entered.

F10 (Step Over) and F11 (Step Into) are two commands people often hit by accident. That starts a new debugging session and that can be annoying if you didn't mean for that to happen. They should only take effect during a debug session.

Luke Vo
  • 17,859
  • 21
  • 105
  • 181
  • 1
    This should be the accepted answer: Tweaks was built by none less than VS project manager Mads Kristensen himself and directly fixes this issue, among many other VS annoyances. A version of [tweaks for VS2022](https://www.vsixgallery.com/extension/0c8bd9fa-77d5-4563-ab57-9e01608c3d05) is available as well! – Sean Werkema Aug 28 '23 at 14:29
  • @SeanWerkema thanks I didn't know he separate it by years. Why would he do that lol. I updated the answer to link to the latest version. – Luke Vo Aug 28 '23 at 15:43
  • 1
    It's probably because the extension pokes heavily at the internals of Visual Studio itself, internals that likely change a lot between versions. I would bet the VS2022 version doesn't work on VS2019 and likely vice-versa. – Sean Werkema Aug 28 '23 at 18:33
-2

Install Resharper and Change the Key Short Settings

Kishore Kumar
  • 12,675
  • 27
  • 97
  • 154
  • 6
    Why use an external tool to change the keyboard short cuts when you can do it natively inside VS? – cvanbrederode May 07 '14 at 12:34
  • @cvanbrederode If VS can't do it (as you don't want to disable F11 while debugging) then you'll have to. – BJury Jan 25 '17 at 15:22
  • The OP actually does want to disable F11 for debugging. Which is fine, since the Step-Into function can still be selected from the tool bar and from the menu. – cvanbrederode Feb 02 '17 at 22:42
  • 3
    @cvanbrederode: I disagree, the OP only wants to stop F11 starting a new debug session while editing code and specifically when he intended to use F12 for source code navigation. On fiddly laptop keyboards with half height function keys the F12/F11 miskey this is a common problem. – camelCase Sep 01 '17 at 16:40
  • @camelCase F11 is bound to the StepInto command. Pressing it while not debugging automatically starts a debug session. Same thing with F10 (step over). There's no support to have the shortcut work while debugging, but not while editing (and not debugging). – cvanbrederode Sep 04 '17 at 21:44