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);
        }