Как сделать так, чтобы файл был добавлен в список MRU последних проектов при программном открытии решения в VS?

Когда решение программно открывается в надстройке / расширении (VS2012 в моем случае), используяSolution.Openфайл решения не добавляется в MRU проектов (т. е. File->Меню «Недавние проекты и решения»), как если бы вы открывали решение, используя File->Открыть->Меню Проект / Решение. Есть ли способ заставить файл быть добавленным? Я'мы видели некоторые ссылки на манипуляции с реестром (например,HKCU \ Software \ Microsoft \ VisualStudio \ 11,0 \ ProjectMRUList) но есть ли другой способ, который неПредполагается, что хранилище, которое использует VS, и, следовательно, будет меньше шансов сломаться в будущем? Возможно интерфейс VS, который мог бы позаботиться об этом независимо от того, где информация может быть сохранена. Это также позволило бы мне игнорировать максимальное количество элементов mru, избегая ошибок при обновлении / повторной нумерации существующих элементов и т. Д. Я нашелIVsMRUItemsStore но если это то, что я должен использовать, яя не уверен в том, чтоcategoryGuid Я бы использовал. Из того, что ямы видели, что этот интерфейс может быть связан со встроенной функцией поиска. [

редактировать] Хорошо, ямы сделали еще кое-что. Первый, IVsMRUItemsStoreкажется не связанный со списком проектов, поскольку Microsoft.VisualStudio.PlatformUI.MRUItemsStoreService кажется пустым даже после отображения меню недавних проектов. Во-вторых, ямы пытались напрямую манипулировать реестром, но это нене работает хорошо, потому что VS нене знаю об изменении реестра и поэтому меню и его внутренний кеш остаются неизменными. Если впоследствии вы откроете другой проект или решение с помощью диалогового окна «Открыть проект», реестр будет перезаписан кэшированной информацией плюс проект / решение, открытое через диалоговое окно. Я был бы в порядке манипулирования реестром, если бы был какой-то способ уведомить VS о перечитывании информации реестра (без закрытия VS). Я также был бы рад, если бы существовал какой-то другой программный способ манипулирования списком недавних проектов через VS '. объектная модель. [

Edit2] Я 'мы обнаружили, что пункт меню View в TFS ' Source Control Explorer делает именно то, что я хочу. Он откроет данное решение, запрашивая, нужно ли преобразовать решение (не закрывая открытые документы), и добавляет элемент в MRU. Теперь вопрос в том, как мне сделать то же самое в моем расширении / дополнении? Я могу'использовать их команду (если она не принимает параметр), потому что решение / проект I 'м открытие не в TFS.

Ответы на вопрос(1)

Ваш ответ на вопрос