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)

[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
[GuidAttribute("255B9803-BA83-421B-924E-CDE7FAAA86A3")]
public interface IVsProjectCfgDebugTargetSelection

NameDescription
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" />
    <CommandFlag>TextChanges</CommandFlag>
    <CommandFlag>DynamicVisibility</CommandFlag>
    <CommandFlag>DefaultInvisible</CommandFlag>
    <CommandFlag>DefaultDisabled</CommandFlag>
    <CommandFlag>DynamicItemStart</CommandFlag>
    <Strings>
        <CommandName>cmdidWindowsImmersive_Simulator</CommandName>
        <ButtonText>Simulator</ButtonText>
    </Strings>
</Button>
<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" />
</GuidSymbol>
Return to top
Show: