IVsProjectCfgDebugTargetSelection Interface


Allows a project to participate in the debug target menu controller feature. This interface is optional.

Namespace:   Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop.11.0 (in Microsoft.VisualStudio.Shell.Interop.11.0.dll)

public interface IVsProjectCfgDebugTargetSelection

System_CAPS_pubmethodGetCurrentDebugTarget(Guid, UInt32, String)

Retrieves the command that is currently latched on the debug target menu controller.

System_CAPS_pubmethodGetDebugTargetListOfType(Guid, UInt32)

Retrieves a list of strings your project requires for the specified debug target type command.

System_CAPS_pubmethodHasDebugTargets(IVsDebugTargetSelectionService, Array)

Retrieves a list of supported debug target types. This list is returned as a set of "<Guid>:<Id>" pairs as an array of strings.

System_CAPS_pubmethodSetCurrentDebugTarget(Guid, UInt32, String)

Sets the current debug target when the user picks an item on the debug target menu controller.

This interface is retrieved by a QueryInterface from the project's configuration object that implements IVsDebuggableProjectCfg.

The debug target menu controller acts as a short cut for directing the target for debugging of the project that otherwise is normally set by choices made on the Debug page of the project's configuration-dependent settings. This feature is defined in a manner that allows many project kinds to participate with the feature. New project kinds can define their own debug target-type commands (with icons) for the menu controller. One package is responsible for defining the new debug target type commands/icons. These definitions are made in the standard way (that is, using a .vsct file) for adding new commands for the IDE, but with the following special requirements:

  • The commands should be owned by the debug target handler package.

  • The commands should be placed in a group on the debug target menu controller.

The following example demonstrates how to define a new DebugTargetType.

<Button guid="guidWindowsImmersiveDebugTargetTypesCmdSet" id="cmdidWindowsImmersive_Simulator" priority="0x1000" type="Button">
    <Parent guid="guidDebugTargetHandlerPackage_string" id="DebugTargetMenuControllerGroup"/>
    <Icon guid="guidWindowsImmersiveSimulatorImage" id="bmpPicSimulator" />
<GuidSymbol name="guidDebugTargetHandlerCmdSet" value="{6E87CFAD-6C05-4adf-9CD7-3B7943875B7C}}">
    <IDSymbol name="DebugTargetMenuControllerGroup" value="0x1000" />
    <IDSymbol name="DebugTargetMenuControllerFooterGroup" value="0x2000" />
    <IDSymbol name="DebugTargetMenuControler" value="0x0100" />
    <IDSymbol name="cmdidDebugTargetAnchorItem" value="0x0101" />
Return to top