Jak można dodać plik do listy MRU ostatnich projektów, gdy programowo otwiera się rozwiązanie w VS?

Kiedy rozwiązanie programowo otwiera się w dodatku / rozszerzeniu (w moim przypadku VS2012) za pomocąRozwiązanie. Otwórz, plik rozwiązania nie jest dodawany do MRU projektów (tj. menu Plik-> Ostatnie projekty i rozwiązania), tak jak w przypadku otwarcia rozwiązania za pomocą menu Plik-> Otwórz-> Projekt / Rozwiązanie. Czy istnieje sposób wymuszenia dodania pliku? Widziałem odniesienia do manipulowania rejestrem (np.HKCU Software Microsoft VisualStudio 11.0 ProjectMRUList) ale czy istnieje inny sposób, który nie zakłada przechowywania, z którego korzysta VS, a zatem w mniejszym stopniu złamie się w przyszłości? Być może interfejs VS, który może się nim zająć, niezależnie od tego, gdzie informacje mogą być przechowywane. Pozwoliłoby mi to również zignorować maksymalną liczbę elementów mru, unikając błędów w aktualizacji / ponownej numeracji istniejących elementów itp. ZnalazłemIVsMRUItemsStore ale jeśli to właśnie powinienem użyć, nie jestem pewien, cocategoryGuid Używałbym. Z tego, co widziałem, wygląda na to, że ten interfejs może być powiązany z wbudowaną funkcją wyszukiwania.

[Edytować] Ok zrobiłem jeszcze trochę kopania. Po pierwsze, IVsMRUItemsStorewydaje się niezwiązany z listą projektów mru, ponieważ Microsoft.VisualStudio.PlatformUI.MRUItemsStoreService wydaje się być pusty nawet po wyświetleniu menu ostatnich projektów. Po drugie, próbowałem bezpośrednio manipulować rejestrem, ale to nie działa dobrze, ponieważ VS nie wie o zmianie rejestru, więc menu i jego wewnętrzna pamięć podręczna pozostają niezmienione. Jeśli następnie otworzysz kolejny projekt lub rozwiązanie za pomocą okna dialogowego Otwórz projekt, rejestr zostanie zastąpiony buforowanymi informacjami oraz projektem / rozwiązaniem otwartym za pośrednictwem okna dialogowego. Byłbym w porządku z manipulowaniem rejestrem, gdyby istniał jakiś sposób powiadamiania VS o ponownym odczytaniu informacji rejestru (bez zamykania VS). Byłbym również szczęśliwy, gdyby istniał jakiś inny programowy sposób manipulowania listą ostatnich projektów za pomocą modelu obiektowego VS.

[Edit2] Odkryłem, że pozycja menu Widok w Eksploratorze kontroli źródła TFS robi dokładnie to, czego chcę. Otworzy dane rozwiązanie, pytając, czy rozwiązanie wymaga konwersji (bez zamykania otwartych dokumentów) i dodaje element do MRU. Pytanie brzmi teraz, jak zrobić to samo w moim rozszerzeniu / dodatku? Nie mogę użyć ich polecenia (chyba że pobiera parametr), ponieważ rozwiązanie / projekt, które otwieram, nie znajduje się w TFS.

questionAnswers(1)

yourAnswerToTheQuestion