VS2010 - открыть решение, файл в этом sln тоже откроется - PullRequest
0 голосов
/ 27 января 2012

Я создал небольшое приложение (формы win), которое создает решение, добавляет проект и некоторые файлы в проект.При нажатии на кнопку, новое решение должно открыться установленной экспресс vs2010.Вот отлично работает, все ок.Мой вопрос, есть ли способ открыть определенный файл в решении, когда было загружено решение для дырок?Для лучшего понимания пользователь (из моего приложения) создает sln с 3 файлами (a.cs, ​​b.cs и c.cs).Он выбирает b.cs (в моем приложении) и открывает sln.В редакторе vs должен быть открыт предварительно выбранный файл b.cs.

Я пытался создать файл sou, но я думаю, что это не правильный путь ...

Есть ли способ сделать это ?!Спасибо и Саша Саша

1 Ответ

2 голосов
/ 27 января 2012

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

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

Также проверьте эту статью CodeProject : в то время как его основной задачей является добавление окна инструментов в Visual Studio, оно также использует IVsPersistSolutionOpts.

...