private static void DeleteRecentFiles(IVsMRUItemsStore store, IVsUIShell uiShell) { ThreadHelper.ThrowIfNotOnUIThread(); if (UserConfirmation("Are you sure you with to clear the list of recently opened files?", uiShell, true)) { Guid guid = MruList.Files; store.DeleteMRUItems(ref guid); } }
public static async Task InitializeAsync(AsyncPackage package) { await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(package.DisposalToken); IVsMRUItemsStore store = await package.GetServiceAsync <SVsMRUItemsStore, IVsMRUItemsStore>(); IVsUIShell uiShell = await package.GetServiceAsync <SVsUIShell, IVsUIShell>(); ISettingsManager manager = await package.GetServiceAsync <SVsSettingsPersistenceManager, ISettingsManager>(); IMenuCommandService commandService = await package.GetServiceAsync <IMenuCommandService, IMenuCommandService>(); Assumes.Present(commandService); var cmdFilesId = new CommandID(PackageGuids.guidCommands, PackageIds.ClearRecentFiles); var cmdFiles = new OleMenuCommand((s, e) => DeleteRecentFiles(store, uiShell), cmdFilesId); commandService.AddCommand(cmdFiles); var cmdProjectsId = new CommandID(PackageGuids.guidCommands, PackageIds.ClearRecentProjects); var cmdProjects = new OleMenuCommand((s, e) => DeleteRecentProjects(manager, uiShell), cmdProjectsId); commandService.AddCommand(cmdProjects); }