Visual Studio запоминает файлы, которые вы открывали, когда вы в последний раз закрывали решение, наряду с другими вещами, такими как точки останова, с помощью файла SUO.Вы можете проверить это с помощью простого эксперимента: закройте свое решение, открыв в нем только один файл (например, a.cs), вручную удалите файл SUO (не волнуйтесь, VS воссоздает его, если он не существует)и когда вы снова откроете решение, вы увидите, что у вас не будет открыто ни одного файла, и вы потеряли все свои точки останова.
Таким образом, очевидная вещь, которую нужно сделать здесь, это манипулировать SUO, сохраняя на нем выбранный пользователем файл, а затем открывая VS из вашего инструмента.Единственное, что я нашел в документации, это IVsPersistSolutionOpts , но у меня нет прямого опыта с этим.
Также проверьте эту статью CodeProject : в то время как его основной задачей является добавление окна инструментов в Visual Studio, оно также использует IVsPersistSolutionOpts.