Visual Studio 2012 - Intellisense іноді зникає / ламається


133

Ми з колегами вже кілька тижнів використовуємо VS2012. Іноді після декількох годин роботи інтелігенція порушується. Після закриття всіх відкритих вкладок він працює знову.

Чи є більше людей, які мають ту ж проблему? Це не може бути проблемою із розширенням, оскільки у мене така ж проблема вдома. Можливо, для цього є рішення?


2
Чи працює використання Ctrl+ Spaceпісля появи цієї проблеми?
SajjadHashmi

7
Жоден Ctrl + пробіл не впливає
KroaX

2
З тією ж проблемою
msbg

2
Visual Studio використовує незалежні реалізації IntelliSense для кожної з підтримуваних мов, тому відповідь, ймовірно, залежатиме від конкретної мови, якою ви користуєтеся. Крім того, кілька розширень Visual Studio змінюють, розширюють або навіть повністю замінюють функції IntelliSense для однієї або декількох мов, що, ймовірно, змінить відповідь, наданий тут.
Сем Харвелл

Будь-ласка, проголосуйте в цьому повідомленні користувача, щоб попросити акорду з м'яким скиданням, щоб принаймні пом'якшити це: visualstudio.uservoice.com/forums/121579-visual-studio/…
mattmanser

Відповіді:


184

Ось декілька найкращих рішень для повернення Visual Studio 2012 на інтеліссенс на шляху, спробуйте їх по черзі, сподіваємось, що одне з них вирішить проблему:

When the problem occurs next time follow these: Почніть з №1 і перейдіть до наступного, коли попередній не працює для вас

1: Close all the tabsі знову відкрийте файл. (Завдяки russds)

2: Clean the Build> Close the Solution> Restart Visual Studio> Open the Solutionзнову

3: Goto: Edit> IntelliSense>Refresh Local Cache

4: Закрийте Visual Studio 2012 та видаліть цю папку: %AppData%\Microsoft\VisualStudio\11.0\ReflectedSchemas

5: Goto: TOOLS> Import and Export Settings>Reset all settings

6: Видаліть .suoфайл у папці проекту. (Завдяки Джейсону Стілу)

Сподіваюся, ваша проблема буде вирішена будь-яким із перерахованих вище шести кроків. Але якщо все-таки це не відбудеться, я думаю, вам слід подумати про перевстановлення свого VS2012.


6
Не вдалося зробити №1, оскільки цей пункт меню не існує в моєму VS2012 (?). Не вдалося зробити номер 2, оскільки ця папка не існує. Але після перезапуску VS2012 проблема зникла.
Lasse Skindstad Ebert

20
я не можу знайти ніде оновити локальний кеш там?
MonsterMMORPG

6
Зі мною трапилось те саме, ніщо з вищезгаданого не працювало, але закриття всіх вкладок не робилося. Це має бути варіант один у цьому рішенні.
russds

1
4 працювали над проектом у VS 2012, але папки немає у VS 2013, і у мене все ще є проблема. Я спробував замість цього видалити схожі GeneratedSchemas, але це теж не вийшло.
Джейсон Стіл

1
@SajjadHashmi, як ви думаєте редагувати свою відповідь, щоб включити крок для видалення файлу .suo? У цій темі є кілька коментарів та відповідей, які голосують, і тому здається, що це допоможе іншим мати їх у цьому головному списку. Я запропонував сьогодні змінити це питання, щоб включити його, але мою редакцію було відхилено (з причин, які залишають мене збентеженими і трохи не захоплюються). У будь-якому разі, будь ласка, врахуйте це незначне доповнення до вашої відповіді.
pettys

19

Я використовую Visual Studio 2012, і у мене така ж проблема. Якщо виправите це (коли Intellisense вже не працює), мені просто потрібно закрити поточну вкладку (в якій Intellisense не працює) і повторно відкрити її ... і eevrything все в порядку ... не потрібно закривати Visual Studio або закривати всі Вкладки.


2
Це насправді спрацювало для мене. Змагається перезавантажити все рішення або перезапустити візуальну студію.
Говард Ренолет

Дякую! Це теж мій випадок.
Hong

13

Перепробував усе. Справа в тому, що працювати є видалення файлу Його. Це прихований файл під назвою SolutionName.v11.suo в каталозі рішення:

  1. Закрийте рішення
  2. Переконайтеся, що ви можете бачити приховані файли.
  3. Стерти файл suo.
  4. Повторно відкрити рішення.

Ви втратите робочий стіл рішення (жодні файли не відкриються автоматично в редакторі), але це невелика ціна, яку потрібно заплатити за повернення інтелігенції :)


Будь-які ідеї, чому це відбувається? Зараз я видаляю файли sou 3 і більше разів на день. Я не виділяв жодних плагінів, але гадаю, що це Web Essentials або Power Tools.
Skowronek

1
@Alon Gingold - це не просто те, про що я сказав ще в листопаді 13? У будь-якому випадку, у мене встановлені інструменти Xamarin, і я цікавився, чи не має хтось із проблемами з файлом .suo?
Джейсон Стіл

У мене встановлено xamarin, і у мене немає нічого, крім цієї проблеми щодня із візуальною студією 2013
TombMedia

13

Вам не потрібно перезапускати Visual Studio. Замість цього закрийте поточне рішення, а потім знову відкрийте його. Я сподіваюся, що було простіше рішення.

Оновлення 4/16 : для користувачів XAML рішення, яке працює так само просто, як навмисне порушення коду; цього має бути достатньо для повернення інтелігенції назад. Більше тут .

Не вдалося перевірити, чи працює це і для інших типів коду, але якщо це так, будь ласка, залиште коментар.


7
Вам не потрібно закривати поточне рішення. Натомість просто WINDOW> Close All Documents.
yoyo

12

Видаліть .suo файл. Спробуйте це, для мене це спрацювало після того, як все-таки не вдалося.


Нагадує мене про старі часи, коли вам довелося зробити файл .ncb лише для читання, щоб VS 2005 не міг ним користуватися і зависати, перебираючи протягом 30 хвилин на заголовках C ++.
Джон Харбор

6

У мене така ж проблема. Для мене, вибираючи кінець останнього рядка файлу, а потім зберігаючи файл (ctrl-s), усуває проблему.


2

Спершу слід зазначити, що цього не сталося зі мною після модернізації оперативної пам’яті до 16 Гб.

Здається, це відбувається, коли я копіюю / вставляю елементи керування на сторінку. Іншим побічним ефектом цього є те, що файл дизайнер.vb не оновлюється відразу, і я не маю доступу до цих елементів управління в коді позаду.

Це порядок кроків, які я проходжу:

  • Якщо впливає лише 1 файл / вікно, закрийте / повторно відкрийте цей файл.

У Visual Studio:

  1. Клацніть Інструменти-> Параметри-> Текстовий редактор-> Усі мови-> Загальне
  2. Зніміть прапорець "Автоматичний список учасників"
  3. Зніміть прапорець "Інформація про параметри"
  4. Поставте прапорець "Автоматичні списки членів" (так, того, кого ви тільки не зняли)
  5. Поставте прапорець "Інформація про параметр" (знову ту, яку ви тільки що не зняли)
  6. Натисніть кнопку ОК

Якщо це не працює, виконайте наступні дії:

  1. Якщо все ще не працює, закрийте всі вікна та знову відкрийте
  2. Якщо все ще не працює, закрийте / повторно відкрийте рішення
  3. Якщо все ще не працює, перезапустіть VS.

Для проектів C ++:
MSDN має спробувати кілька речей: пропозиції MSDN

Пошкоджений .ncbфайл видається найімовірнішим.

Від MSDN:

  1. Закрийте рішення.
  2. Видаліть .ncbфайл.
  3. Повторно відкрийте рішення. (Це створює новий .ncbфайл.)

(Я ще не зрозумів, чому в деяких випадках потрібні більш різкі кроки.)

  • Випробуваний у VS 2013/15
  • У мене не було таких проблем з моменту оновлення оперативної пам’яті

1

У мене був поганий код Xaml. Він не давав помилки під час компіляції, але все ж заважав IntelliSense працювати належним чином у файлі xaml.

Я усунув такий код, щоб усунути проблему: Binding = "{Binding ReturnCode & Info}"

проблема "&"


1

Жодне з них не працювало для мене, але я, нарешті, змусив його працювати, відключивши Resharper. Я не впевнений, чому це було потрібно, оскільки у мене є інше рішення LS, де intellisense працює нормально. Просто подумав, що опублікую його, якщо хтось інший має таку ж проблему, що і я.


1

Я стикаюся з тією ж проблемою і вирішую її. Майте це на увазі, якщо ви працюєте з Silverlight, будь-який неправильний код XAML може призвести до збою IntelliSense. Я пропоную, якщо ви працюєте з Silverlight, складіть свій проект для виявлення неправильних кодів XAML та вирішіть їх на першому кроці, а якщо проблема продовжується, то скористайтеся вищезазначеними кроками.


1

Проблема полягає у файлах .vcproj.

Ви виявите, якщо перейти в режим випуску з режиму налагодження, скласти, а потім спробувати intellisense, це часто працює.

Закрити Visual Studio. Якщо ви шукаєте файли .vcproj у своєму проекті, відредагуйте їх та знайдіть перші два екземпляри AdditionalIncludeDirectories. Значення для цього має виглядати приблизно як ".. \, .... \", а не "../ ..".

Відкрийте свій проект, нехай Intellisense закінчить будівництво, тоді він має бути виправлений.


Це виправили це для мене після перевстановлення VS не зробили.
SB2055

1

Кроки для виконання:

  1. Перейдіть до меню Інструменти
  2. Клацніть на "Імпорт та експорт параметрів"
  3. Виберіть "Скинути всі налаштування". Клацніть Далі
  4. Створіть резервну копію налаштувань. Клацніть Далі
  5. Виберіть налаштування середовища (наприклад, Visual C # Settings Settings). Клацніть Готово.

Не потрібно перезапускати Visual Studio.


1

У мене виникла проблема з бритвою Intellisense, яка взагалі не працювала в одному з моїх проектів. Жоден з вище виправлень не працював для мене. Нарешті я зміг вирішити проблему, змінивши версію веб-сторінок у веб-конфігурації на 2.0.0.0 замість 3.0.0.0, показаної нижче:

<appSettings>
   <add key="webpages:Version" value="2.0.0.0" />
   ...
</appSettings>

Я сподіваюся, що це допомагає комусь іншому.


0

Жодне з вищезазначеного не допомогло виправити Intellisense на моєму розробнику (VS2012). Я навіть спробував "devenv / resetuserdata", що призвело до необхідності перевстановлення всіх плагінів.

Тим не менш, у проектах C ++ код у #if ABC ... #endif блоків залишається неземелим.

Як тимчасове вирішення я змінюю #if ABC на #if 1 // ABC, а потім повертаю зміни назад після того, як закінчу редагування блоку. Дратівливий ...

EDIT: Через кілька годин я знайшов краще рішення. Я прокоментував "#define ABC 1" у файлі заголовка та додав "ABC = 1;" до властивостей проекту-> C / C ++ -> Preprocessor-> Preprocessor Definitions. Тоді Intellisense почав працювати правильно! Кодові блоки не затьмарені.


Налаштування Visual Studio за замовчуванням затьмарить увесь код, який компілятор буде пропускати через директиви компілятора, такі як #if. Якщо визначені константи змінюються при зміні вашої активної конфігурації (наприклад #define debug, часто встановлюється в режимі налагодження, а в режимі випуску немає), то частина коду, що перебуває в сірій сітці, зміниться.
Зарефет

0

У мене була схожа проблема в Visual Studio 2013, я просто очистив рішення, а потім видалив 4: Закрити Visual Studio 2013 та видалити цю папку: %AppData%\Microsoft\VisualStudio\12.0і це вирішило проблему.


0

Я виділив свої проблеми, пов'язані з тим, що VS Power Tools псує * .suo. Закривши VS, видаливши .suo, а потім повторне відкриття виправляє проблему. Він також видаляє всі особисті налаштування цього рішення.

Ще одне, менш руйнівне рішення, на яке я зіткнувся, - це скористатися командою живлення «Редагувати файл проекту», а потім перезавантажити проект, щоб знову отримати інтелігенцію.

Сподіваємось, це допомагає іншим.


0

для VS2013 - ASP.NET MVC 5 Project, простим способом виправити це було вивантаження та перезавантаження конкретного проекту.


0

У проекті Python я видалив приховану папку .vs, .sln файл та .pyproj файл. Потім я відтворив проект із існуючого коду, і Intellisense знову працює.


0

Закривши вкладку, яка не працює, це зробило для мене.

ps я б економив перед рукою, лише на випадок, коли VS буде дивним;)

О, і ярлик - Ctrl + Alt + Space (для переключення між пропозиціями та стандартними режимами завершення)


0

Я стикався з цією проблемою неодноразово, і я все ще стикаюся з цим.

Рішення, яке працювало для мене, полягало в тому, щоб зменшити довжину шляху, де розміщується рішення. Я розмістив рішення ближче до диска C (c: /code/your_project.sln), і він просто вирішив проблему intellisense. Це завжди вирішує проблему.


-1

Ніщо з перерахованого вище не працювало для мене. Оглядаючи ближче, я помітив, що intellisense працює на деяких файлах, але не на всіх файлах. А потім виявив, що це лише один файл. Нарешті відкрив файл .proj, який містив:

  <ItemGroup>
<None Include="App.config" />
<None Include="packages.config" />
<Compile Include="Generator.cs" />
<Compile Include="PDFDocument2.cs" />
<None Include="PDFDocument.cs" />
<Compile Include="PdfDaemon.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />

Звичайно, intellisense не працює на файл, який не позначений як компільований.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.