Visual Studio 2012/2013 Медленные члены списка Intellisense

Я кодирую VB.Net с помощью Visual Studio 2012 (Premium, Update 3, ReSharper 8). У меня деактивирован ReSharper intellisense, и я использую стандартный VS intellisense.

Некоторое время я испытывал серьезные проблемы с производительностью intellisense. Моя проблема, похоже, специфична для подмножества «Список участников» intellisense. Почти каждый раз, когда активизируется intellisense членов списка, загрузка и отображение списка занимает около 2 секунд. Приложение зависает, пока не отобразится список участников.

Я использовал Process Monitor для диагностики проблемы, и похоже, что кеш Visual Studio выполняет тысячи файловых взаимодействий с различными файлами в моем решении каждый раз, когда он отображает список участников. Большинство этих взаимодействий с файлами, по-видимому, сосредоточено вокруг сгенерированного кода из шаблонов T4 и файлов конструктора, созданных VS. Мне не удалось найти в Интернете никакой информации об этой проблеме.

Кто-нибудь еще видел эту проблему с производительностью и нашел ее решение?


person ThatShawGuy    schedule 14.08.2013    source источник
comment
У меня такая же проблема в VS2013 + Resharper 8.   -  person ekenman    schedule 19.11.2013
comment
У меня такая же проблема в VS2013 для C #. Здесь я сгенерировал код, который означает, что некоторые методы существуют там, где есть тысячи перегрузок, поэтому член списка должен перечислить +1000 членов, и это замедляет работу редактора для ВСЕХ операций внутри файла, в котором используется пространство имен. НЕ только для участника списка, но для всего редактирования. В мониторе процесса видно, что devenv.exe открывает cs-файл для каждой перегрузки, например. тысячи раз. Не знаю, как это решить. Пытался удалить suo-файл, но не помогло. Я думаю, что это проблема того, как intellisense работает в этом случае ...   -  person nietras    schedule 30.06.2014
comment
попробуйте закрыть решение и удалить файлы *.cache и *.FileListAbsolute.txt в obj\debug/release скрытых папках. Я переименовал все Решение с его проектами, и в этих файлах был беспорядок, влияющий на производительность. Они будут воссозданы.   -  person Ivan Ferrer Villa    schedule 06.11.2019


Ответы (6)


У меня такая же проблема. Когда я начинал вводить атрибут класса (или стиля) тега html, для отображения меню intellisense требовалось около 10 секунд.

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

Я отключил BrowserLink и не исправил.

Итак, я фактически отключил intellisense для файлов HTML, сняв флажок Auto List Members в «Текстовом редакторе | HTML | Вкладка Общие. Больше никаких раздражающих пауз ... больше никакого intellisense, но для меня это нормально.

person kodybrown    schedule 10.06.2014
comment
Это сработало для меня, хотя я ненавижу отсутствие Intellisense. Не то чтобы мне это было нужно для HTML, но в этом есть что-то утешительное ... grrrr ... Я действительно заметил эту проблему, когда добавил в свой проект фреймворк Bootstrap. Я предполагаю, что это связано с попыткой проанализировать все классы CSS для отображения в intellisense (?) - person Gary O. Stenstrom; 18.09.2015
comment
Отключение этого параметра в параметрах VS работает так, как описано в wasatch (и должно быть отмечено как ОТВЕТ). Если у вас установлен ReSharper, вы все равно получите его Intellisense, поэтому вы действительно ничего не потеряете и вернете скорость. - person Mike K; 06.04.2016
comment
Спасибо за это! Спасибо. - person Tim Abell; 17.11.2017

У меня нет установленного Resharper, и я сталкиваюсь с этой проблемой - медленный intellisense только для CSS (когда я пытаюсь изменить значение атрибута класса или просто переместить на него курсор, VS сходит с ума и в целом замедляется радикально. Также это происходит, если я редактирую файлы CSS. Обратите внимание, что это происходит в веб-проекте, использующем шаблон Flat Dream. Возможно, мне следует просмотреть его и удалить файлы CSS, на которые нет ссылок, но как лучше всего это сделать, если в нем есть весь куст CSS и МЕНЬШЕ файлов ....

person Konstantin Isaev    schedule 22.03.2014

К сожалению, проблема, похоже, присутствует и в VS 2013 - у меня была аналогичная проблема с VS2013 + ReSharper v8.0.2 и intellisense в CSS.

Использование VS 2012 + ReSharper 8.0.2 в одном решении - это нормально.

Моя проблема, по-видимому, в основном связана с тем, что я работаю над решением ExtJS (которое добавляет сотни файлов .js и .css), и VS 2013, похоже, не справляется с этим.

Вы уже используете VS2012 здесь - проблема возникает при полностью удаленном ReSharper? Если нет, то ваша проблема в ReSharper. Если это VS2012, то это что-то другое. Проверьте все другие расширения, которые вы могли установить, и попробуйте отключить их.

Вы используете свои собственные шаблоны T4?

person Rich    schedule 26.11.2013
comment
Дело в том, что у R # intellisense нет проблем с производительностью. Это просто VS intellisense. На этом этапе мы перешли на VS 2013, и проблема сохраняется. Судя по информации в Process Monitor, я не думаю, что R # имеет к этому какое-либо отношение, и проблема все еще возникает, когда R # отключен. Как будто VS intellisense не может кэшировать какую-либо информацию из кода, сгенерированного из шаблонов T4, или считает, что срок действия информации истек каждый раз, когда он пытается получить доступ к кешу intellisense. У нас есть тысячи сгенерированных файлов из пользовательских T4, и, похоже, они все часто обрабатываются повторно. - person ThatShawGuy; 27.11.2013
comment
Я отключил BrowserLink в VS2013, и это, похоже, помогает с производительностью во время отладки. Однако вы правы - с тех пор я играл с разными версиями R #, и проблема определенно связана с VS и связана с количеством файлов в решении. Небольшие проекты подойдут. - person Rich; 28.11.2013
comment
Да, нам пришлось немедленно отключить BrowserLink. Это фактически нарушило функциональность нашего проекта, ха. - person ThatShawGuy; 28.11.2013

Каждый раз, когда у меня возникают такие ошибки (я занимаюсь разработкой на C ++), я удаляю файл sdf, который принадлежит Решению. После удаления этого файла и просмотра Visual Studio, intellisense снова работает быстро и плавно :)

person Marek Szanyi    schedule 04.04.2014

Попробуй это:

  1. Чистый раствор.
  2. Скомпилируйте проект успешно

У меня действительно работает, когда я получаю эту проблему. Я в основном занимаюсь разработкой проектов на C #.

person agarcian    schedule 27.08.2015
comment
да ладно, я действительно не думаю, что мы здесь не на должном уровне, чтобы рекомендовать другим перестраивать проекты: D Особенно с учетом проблемы с редактором CSS / HTML .. - person mikus; 24.09.2015
comment
Все дело в последовательности событий. Вам нужно почистить и перекомпилировать. Я не делал это каждый раз, когда у меня возникала эта проблема, потому что я думал, что это не связано с создаваемым проектом. Так что, если это кажется очевидным, это не для меня, особенно когда восстановление занимает некоторое время из-за количества проектов. Проблема, похоже, связана с кешами intellisense, которые необходимо перестроить (или с кешами проекта какого-либо типа). Так что это не так уж абсурдно. - person agarcian; 24.09.2015
comment
Это значительно улучшило мою проблему (vb.net) - все еще некоторая пауза, но не задержка 10 с + после ввода ключевого слова, которое у меня было раньше. - person Rich Freeman; 21.01.2017

Я столкнулся с этой проблемой с 2 ​​недель, наконец понял это с помощью инструмента Sysinternal под названием Process monitor (ProcMon.exe). Проблема связана с настройками автоматического обновления. Я отключил его, вуаля, он работает.

Решение: Инструменты -> Параметры -> Среда -> Расширения и обновления -> (снимите флажок) Автоматически проверять наличие обновлений -> ОК

person Tanny    schedule 26.02.2015
comment
-1. Это предложение не имеет абсолютно никакого смысла. Нет никакого шанса, что когда вы переходите к обновлению класса CSS в документе HTML, VS обращается за обработкой обновлений расширений; эти два совершенно не связаны. И да, честно говоря, я пробовал это, и нет, это не имело абсолютно никакого значения. - person Mike K; 05.04.2016