Обновление базы данных с автозаполнением (IntelliSense) в Visual Studio
Я заметил, что функция автоматического завершения в Visual Studio перестает работать должным образом, как только мой проект достиг определенного размера (в моем случае ~ 4 100 строк кода). Я также заметил, что производительность также ухудшается после увеличения количества сторонних библиотек (пространства имен, атрибуты и методы класса больше не видны).
Есть ли способ вручную обновить базу данных автоматического завершения или создать новую для существующего проекта?
В настоящее время я работаю в Visual Studio 2008, но я столкнулся с этой проблемой в Visual Studio 2010.
Ответы
Ответ 1
Для VS2015, 2017 и VS2019 закройте Visual Studio и удалите папку .vs в той же папке, что и решение. Среди прочего, он содержит базу данных intellisense (должна быть возможность удалить только файлы, относящиеся к intellisense, если мы знали, какие из них). Обратите внимание, что если вы удалите всю папку, вы потеряете настройки конфигурации окна и т.д.
Для предыдущих версий закройте Visual Studio и перейдите в папку вашего проекта. Файл *.sdf содержит intellisense database-, если вы удалите эти файлы и повторно откроете свой проект в visual studio, он перестроит кэш.
Удаление файла sdf решило проблему для меня.
Иногда работа с большим решением (в основном проекты C++) становится невыносимо медленной. Чтобы это исправить, вам нужно закрыть решение и удалить файл .SDF. После этого он снова возвращается в нормальное состояние, примерно на неделю или около того, пока вам не понадобится сделать это снова.
Основная причина заключается в том, что файл SDF фрагментируется и, согласно выполненному профилированию xperf, VS иногда делает 20 случайных чтений 000+ из него при переключении между отладкой и выпуском. Размещение SDF файлов на SSD устраняет проблему, но в этом нет необходимости. VS должен использовать файл SDF более эффективно и никогда не блокировать операции SDF.
Источник: https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2255455-fix-the-delete-sdf-file-problem
Ответ 2
В VS2017 я часто сталкиваюсь с этой ситуацией, когда я использую interop для вызова CPP из С#, когда что-то меняется на стороне CPP. аргументы конструктора.
Выгрузить и перезагрузить проект CPP в решении помогает решить красные линии.
Ответ 3
Для Visual Studio 2017 (и я думаю, что также Visual Studio 2019) закройте Visual Studio, перейдите в папку .vs в папке проектов и удалите все содержимое, кроме файла .suo, затем снова откройте Visual Studio.
Таким образом, вы можете перестроить кэш Intellisense, не теряя своих предпочтений.
Ответ 4
Я использую Visual Studio 2019, а также испытываю проблемы с Intellisense наряду с другими функциями. Я смог бы пройти через 2-3 обновления файла, прежде чем Intellisense перестал работать вместе с форматированием кода.
Единственный способ заставить все работать снова - это перезапустить Visual Studio, я попытался удалить и папку intellisense, и всю папку .vs
но это не решило проблему, помогло, но что-то еще происходило.
Я наконец смог исправить это, отключив опцию Track changes
в
Tools->Options->Text Editor->General
.
![enter image description here]()