Visual Studio вопрос открытых файлов - PullRequest
31 голосов
/ 19 августа 2008

Можно ли открыть проект в Visual Studio 2008, не открывая все файлы, которые были открыты в прошлый раз, когда у меня был открыт проект. У меня есть привычка держать много файлов открытыми, пока я работаю над ними, поэтому в следующий раз, когда я открою проект, он (очень медленно) загружает кучу файлов в редактор, которые мне даже не нужно открывать. Я искал в настройках и не могу найти ничего, чтобы остановить это поведение.

Ответы [ 9 ]

27 голосов
/ 19 августа 2008

Просто удалите файл .suo. Содержит список открытых файлов.

26 голосов
/ 12 сентября 2008

Небольшое исследование обнаруживает тот факт, что вы можете сделать это с помощью макроса:

  • Создать новый макрос (или использовать существующий). Вы должны увидеть модуль с именем EnvironmentEvents в Macro Explorer. (Подробнее см. здесь .)
  • Откройте модуль EnvironmentEvents.
  • Введите этот код:

    Public Sub CloseDocsOnExit() Handles SolutionEvents.BeforeClosing
        DTE.ExecuteCommand("Window.CloseAllDocuments")
    End Sub
    
  • Сохранение и сборка макроса.
  • Откройте целую кучу документов в своем решении, затем закройте Visual Studio.
  • Ура! Нет больше открытых документов!
  • (Примечание. Несмотря на то, что в нем указано SolutionEvents, оно также работает, если вы работаете над проектом, у которого нет решения.)
5 голосов
/ 19 августа 2008

Я так и не понял, как сильно это меня раздражало! Мне не удалось найти параметр, но в Options > Environment > Keyboard вы можете привязать ярлык к Window.CloseAllDocuments. ALT+X был не связан со мной, поэтому я просто использовал это. Мне интересно, есть ли какая-то скрытая настройка для автоматического выполнения этого при выходе из решения (или при загрузке).

3 голосов
/ 14 августа 2009

Попробуйте следующее:

  1. Закройте программу после закрытия всех файлов.
  2. Сделайте копию [что угодно] .suo
  3. Снова откройте решение, откройте несколько файлов и выйдите.
  4. Скопируйте (не перемещайте) старый файл .suo поверх только что сгенерированного.
  5. Сделать файл .suo доступным только для чтения.

Если у вас есть хранилище, вы можете проверить этот файл.

Я предлагаю это, потому что у меня возникла обратная проблема, когда он не открывал мои старые файлы автоматически, а причиной был файл .suo, который был зарегистрирован в хранилище и (по какой-то причине) не перезаписывался Студией. Файл даже не был защищен от записи.

3 голосов
/ 19 августа 2008

Редактировать: Сначала прочитайте вопрос неправильно - проигнорируйте мой первый (теперь пропавший) ответ. :)

Я изменил раскладку клавиатуры для CTRL-SHIFT-C с перехода с представления класса на закрытие всех окон документов - что я чаще использую на несколько порядков - и затем я просто очищаю свое рабочее пространство перед закрытием решения.

2 голосов
/ 19 августа 2008

Я надеялся на что-то более автоматическое. VS будет создавать новый файл .suo каждый раз, когда проект сохраняется. Поэтому мне придется удалять этот файл каждый раз, когда я открываю проект. Я также не хочу помнить, чтобы закрыть все файлы перед закрытием VS.

Другие IDE, которые я использовал, имеют схожую функциональность, но также позволяют довольно просто включать / выключать.

Спасибо за вашу помощь.

0 голосов
/ 11 ноября 2011

В Visual Studio 6.0 (VC ++) процедура немного отличается.

Удалите файл .ncb (обычно находится там же, где и ваши файлы .dsp или .dsw).

0 голосов
/ 23 апреля 2010

Единственный способ, который мне подходит: изменить местоположение проекта и снова открыть форму решений там. :)

0 голосов
/ 19 августа 2008

Или вы можете закрыть весь открытый документ из меню Окно перед закрытием VS.

...