Debugging 如何更改“的键盘快捷键?”;禁用断点";2015年?

Debugging 如何更改“的键盘快捷键?”;禁用断点";2015年?,debugging,visual-studio-2015,Debugging,Visual Studio 2015,在工具>选项>环境>键盘中,我可以更改各种操作的快捷方式,但似乎找不到“禁用断点”的任何选项,只有“创建断点”、“删除断点”和“禁用所有断点” 我想要的是使F9禁用而不是删除断点。调试。EnableBreakpoint命令的工作方式类似于切换,允许您禁用选定的断点。调试。EnableBreakpoint命令的工作方式类似于切换,允许您禁用选定的断点。为创建/禁用断点,您可以对我的扩展名使用以下命令: public class C : VisualCommanderExt.ICommand {

在工具>选项>环境>键盘中,我可以更改各种操作的快捷方式,但似乎找不到“禁用断点”的任何选项,只有“创建断点”、“删除断点”和“禁用所有断点”


我想要的是使F9禁用而不是删除断点。

调试。EnableBreakpoint命令的工作方式类似于切换,允许您禁用选定的断点。

调试。EnableBreakpoint命令的工作方式类似于切换,允许您禁用选定的断点。

为创建/禁用断点,您可以对我的扩展名使用以下命令:

public class C : VisualCommanderExt.ICommand
{
    public void Run(EnvDTE80.DTE2 DTE, Microsoft.VisualStudio.Shell.Package package)
    {
        dte = DTE;
        if (IsCommandAvailable("Debug.EnableBreakpoint"))
            DTE.ExecuteCommand("Debug.EnableBreakpoint");
        else if (IsCommandAvailable("Debug.ToggleBreakpoint"))
            DTE.ExecuteCommand("Debug.ToggleBreakpoint");
    }

    private bool IsCommandAvailable(string commandName)
    {
        EnvDTE80.Commands2 commands = dte.Commands as EnvDTE80.Commands2;
        if (commands == null)
            return false;
        EnvDTE.Command command = commands.Item(commandName, 0);
        if (command == null)
            return false;
        return command.IsAvailable;
    }

    private EnvDTE80.DTE2 dte;
}

对于创建/禁用断点的单个快捷方式,可以将以下命令与“我的扩展名”一起使用:

public class C : VisualCommanderExt.ICommand
{
    public void Run(EnvDTE80.DTE2 DTE, Microsoft.VisualStudio.Shell.Package package)
    {
        dte = DTE;
        if (IsCommandAvailable("Debug.EnableBreakpoint"))
            DTE.ExecuteCommand("Debug.EnableBreakpoint");
        else if (IsCommandAvailable("Debug.ToggleBreakpoint"))
            DTE.ExecuteCommand("Debug.ToggleBreakpoint");
    }

    private bool IsCommandAvailable(string commandName)
    {
        EnvDTE80.Commands2 commands = dte.Commands as EnvDTE80.Commands2;
        if (commands == null)
            return false;
        EnvDTE.Command command = commands.Item(commandName, 0);
        if (command == null)
            return false;
        return command.IsAvailable;
    }

    private EnvDTE80.DTE2 dte;
}

很可能您正在查找Debug.ToggleBreakpoint命令。不,ToggleBreakpoint创建或删除断点。我想启用/禁用它,因为有时我会遇到断点的条件,我不想每次意外删除它们时都复制/粘贴这些条件,这意味着要禁用它们。很有可能您正在查找Debug.ToggleBreakpoint命令。不,Toggle Breakpoint会创建或删除断点。我想启用/禁用它,因为有时我有断点,这些断点的条件是我不想每次无意中删除它们时都要复制/粘贴的,这意味着要禁用它们。嗯,但是如果那里还没有断点,它就不会创建断点,所以我仍然必须使用单独的快捷方式来创建断点。不过,我想你确实回答了我原来的问题……嗯,但是如果没有断点,它就不会创建断点,所以我仍然必须使用单独的快捷方式来创建断点。不过,我想你确实回答了我最初的问题。。。