本文整理匯總了C#中Microsoft.VisualStudio.Shell.OleMenuCommandService.FindCommand方法的典型用法代碼示例。如果您正苦於以下問題:C# OleMenuCommandService.FindCommand方法的具體用法?C# OleMenuCommandService.FindCommand怎麽用?C# OleMenuCommandService.FindCommand使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Microsoft.VisualStudio.Shell.OleMenuCommandService
的用法示例。
在下文中一共展示了OleMenuCommandService.FindCommand方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: AddAttachCommand
/// <summary>
/// Adds the attach command.
/// </summary>
/// <param name="mcs">The Menu Command Service.</param>
/// <param name="getDescriptor">The get descriptor.</param>
private void AddAttachCommand( OleMenuCommandService mcs, int commandId, Func<GeneralOptionsPage, AttachDescriptor> getDescriptor )
{
if ( mcs != null ) {
var commandIdentifier = new CommandID ( ATAGuids.guidAttachToAnyCmdGroup, commandId );
var existing = mcs.FindCommand(commandIdentifier);
var descriptor = getDescriptor ( OptionsPage );
if ( existing != null ) {
( (DescriptorMenuCommand)existing ).Descriptor = descriptor;
return;
}
var menuItem = new DescriptorMenuCommand (
( s, e ) => {
var menu = (DescriptorMenuCommand)s;
if ( OptionsPage.DTE != null ) {
var procList = new List<EnvDTE.Process> ( );
foreach ( EnvDTE.Process process in OptionsPage.DTE.Debugger.LocalProcesses ) {
if ( menu.Descriptor.ProcessNames.Any ( p => process.Name.EndsWith ( p ) ) ) {
procList.Add ( process );
}
}
if ( procList.Count == 0 ) {
return;
}
// Where there is only 1, or "best choice"
if ( procList.Count == 1 || !menu.Descriptor.ChooseProcess ) {
procList.First ( ).Attach ( );
return;
}
AttachToAnyPackage.ShowProcessManagerDialog ( procList );
}
}, commandId, descriptor );
mcs.AddCommand ( menuItem );
}
}
示例2: RefreshAppPoolMenu
private void RefreshAppPoolMenu(OleMenuCommandService mcs)
{
var appPools = LookupAppPools.GetAppPoolProcesses();
int j = 0;
foreach (var appPool in appPoolList)
{
var cmdID = new CommandID(GuidList.guidNielsV_AttachToAppPoolCmdSet, this.baseMRUID + j);
var menuCommand = mcs.FindCommand(cmdID) as OleMenuCommand;
if (j >= 0 && j < this.appPoolList.Count && j < appPools.Count)
{
menuCommand.Text = appPools.Values.ElementAt(j);
menuCommand.Visible = true;
}
else
{
menuCommand.Visible = false;
}
j++;
}
}