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)
Syntax
'Declaration
<InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)> _
<GuidAttribute("255B9803-BA83-421B-924E-CDE7FAAA86A3")> _
Public Interface IVsProjectCfgDebugTargetSelection
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
[GuidAttribute("255B9803-BA83-421B-924E-CDE7FAAA86A3")]
public interface IVsProjectCfgDebugTargetSelection
[InterfaceTypeAttribute(ComInterfaceType::InterfaceIsIUnknown)]
[GuidAttribute(L"255B9803-BA83-421B-924E-CDE7FAAA86A3")]
public interface class IVsProjectCfgDebugTargetSelection
[<InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)>]
[<GuidAttribute("255B9803-BA83-421B-924E-CDE7FAAA86A3")>]
type IVsProjectCfgDebugTargetSelection = interface end
public interface IVsProjectCfgDebugTargetSelection
The IVsProjectCfgDebugTargetSelection type exposes the following members.
Methods
Name | Description | |
---|---|---|
GetCurrentDebugTarget | Retrieves the command that is currently latched on the debug target menu controller. | |
GetDebugTargetListOfType | Retrieves a list of strings your project requires for the specified debug target type command. | |
HasDebugTargets | Retrieves a list of supported debug target types. This list is returned as a set of "<Guid>:<Id>" pairs as an array of strings. | |
SetCurrentDebugTarget | Sets the current debug target when the user picks an item on the debug target menu controller. |
Top
Remarks
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.
Examples
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>