31

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

ответ

27

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

+1

похоже, что в сравнении с 2017 г. suo - это не тот, который находится рядом с вашим файлом решения, а скорее в специальной папке .vs в корне. удалив этот новый, я исправил его для меня, спасибо! – SelAromDotNet 2017-06-28 15:32:16

3

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

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

0

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

2

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

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

Благодарим за помощь.

5

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

26

Немного исследований оказывается тот факт, что вы можете сделать это с помощью макроса:

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

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

Отличный отзыв! – eidylon 2011-01-03 22:07:33

3

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

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

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

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

-1

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

0

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

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

Смежные вопросы