Dlaczego funkcja Intellisense i sugestia kodu przestają działać, gdy program Visual Studio jest otwarty?

149

Mam problemy z Intellisense w programie Microsoft Visual Studio 2012 . Będę pracował nad projektem, edytując kod i tak dalej (po pewnym czasie, gdziekolwiek od 5 minut do ponad godziny) i nagle nie będzie już żadnych sugestii dotyczących kodu ani inteligencji. Oba wydają się całkowicie przestać działać w tym samym czasie.

Jedynym rozwiązaniem, które próbowałem, jest zresetowanie wszystkich moich ustawień, całkowite zamknięcie programu Visual Studio i ponowne otwarcie projektu. Czy jest lepsze rozwiązanie lub aktualizacja, która to naprawi?

Josh Menzel
źródło
3
Ogranicz swoje tagi do tych, które są rzeczywiście niezbędne. „Microsoft” nie jest, ponieważ nikt inny nie tworzy Visual Studio ani nie ma vb.net. Wydaje się, że „ustawienia aplikacji” dotyczą zapisywania / odczytywania ustawień aplikacji, którą piszesz, a nie IDE, którego używasz. Możesz także edytować swoje pytanie i podzielić je na kilka czytelnych akapitów; Ściana opublikowanego przez Ciebie tekstu jest trudna do odczytania, a im łatwiejsze jest przeczytanie pytania, tym większe masz szanse na uzyskanie pomocy. :-)
Ken White
3
Przepraszam za to, po prostu tak się denerwuję, że rzeczy, które powinny działać, po prostu nie są z żadnego powodu.
Josh Menzel
Czy masz zainstalowane jakieś dodatki?
bobek
1
+1. Miałem ten sam problem kilka razy w VS 2010. Ponowne uruchomienie VS zwykle pomaga. Nie ma potrzeby resetowania ustawień. Rzadko się to zdarza, więc nigdy nie było dla mnie wielkim problemem.
Neolisk
W tej chwili żadne dodatki nie są zainstalowane.
Josh Menzel,

Odpowiedzi:

10

Spędziłem dużo czasu na badaniu tego samego problemu. Niektóre rozwiązania wiązały ten błąd z niektórymi zestawami, do których istnieją odwołania. Inni to powiedzieli Microsoft.Windows.Design.Extension.dlli .Interactivity.dllpowinni znaleźć się w referencjach projektu. Ale żadne z tych rozwiązań nie zadziałało.

Myślę, że to błąd w Visual Studio 2012, Microsoft musi to naprawić.

Sanfoor
źródło
3
Mam Visual Studio 2013 i to wciąż się dzieje. Czy to nadal jest błąd?
Zein Sleiman
1
Tak to jest. I niestety w ciągu ostatnich kilku lat VS stawał się coraz wolniejszy i coraz bardziej błędny z każdą iteracją, jak się wydaje.
PaulK,
37
To nie powinna być akceptowana odpowiedź. Odpowiedź Tony'ego L poniżej jest poprawna.
Scott R. Frost
Mam Visual Studio 2015 i Intellisense działa bardzo wolno lub w ogóle nie działa. Czasami działa dobrze, ale zwykle nie.
Nuts
9
Nadal pojawia się ten problem w VS2015
Wouter
313

Powinienem zauważyć, że nie miałem problemu od czasu aktualizacji pamięci RAM. Nie mogę potwierdzić, czy jest to powiązane, ale problem był powszechny, gdy miałem 2-4 GB pamięci RAM. Żadnych problemów od czasu przejścia do 8 i 16 GB.

Jeśli problem dotyczy tylko jednego pliku / okna, zamknij i ponownie otwórz ten plik. Jeśli to nie zadziała, spróbuj poniżej.

W programie Visual Studio:

  1. Kliknij Narzędzia-> Opcje-> Edytor tekstu-> Wszystkie języki-> Ogólne
  2. Odznacz „Automatyczna lista członków”
  3. Odznacz „Informacje o parametrach”
  4. Zaznacz opcję „Automatyczna lista członków” (tak, ta, którą właśnie odznaczyłeś)
  5. Sprawdź „Informacje o parametrach” (ponownie tę, którą właśnie odznaczyłeś)
  6. Kliknij OK

Jeśli to nie zadziała, spróbuj wykonać kilka dodatkowych czynności:

  1. Zamknij wszystkie dokumenty VS i otwórz ponownie
  2. Jeśli nadal nie działa, zamknij / ponownie otwórz rozwiązanie
  3. Jeśli nadal nie działa, uruchom ponownie VS.

W przypadku projektów C ++:
MSDN ma kilka rzeczy do wypróbowania: sugestie MSDN

Prawdopodobnie uszkodzony .ncbplik.

Z MSDN:

  1. Zamknij rozwiązanie.
  2. Usuń .ncbplik.
  3. Ponownie otwórz rozwiązanie. (Spowoduje to utworzenie nowego .ncbpliku).

Uwagi:

  • Przetestowano w VS 2013/2015

Rejestrowanie możliwych przyczyn:

  • Kopiuj / wklej kontrolki na stronie źródłowej. Okazało się, że mój designer.vbplik też się nie zaktualizował.
  • Skopiuj / wklej kod z innej strony, co spowodowało błąd, ponieważ skopiowany kod odnosił się do kontrolki, której nie było na stronie, do której wklejałem.
  • Projekt C ++ ma uszkodzony .ncbplik

(Dodaj do komentarzy, jeśli zauważysz zachowanie, które to powoduje.)

Tony L.
źródło
12
Musiałem właśnie ponownie uruchomić VS
Jonathan Brown
2
Dla mnie ponowne uruchomienie VS NIE miało takiego efektu, jak zamknięcie i otwarcie tego pliku. Wielkie dzięki!
MKesper
1
Narzędzia-> bit działa również w VS2015 Ultimate Update 2, bez ponownego uruchamiania. Gdybym tylko mógł dać tę odpowiedź + 1 ^ 6, byłem w dwóch umysłach, aby przenieść się do Eclipse> ;-) To powiedziawszy, ktoś ze stwardnienia rozsianego powinien zostać obrzezany za nieporozumienie, które spowodował ten błąd na całym świecie
uśmiechnięty człowiek
1
Innym głupim powodem braku argumentu funkcji Intellisense może być niedostępny poziom ochrony. Na przykład protectedctor zamiast public. protectedKonstruktor pojawi się na liście funkcji zewnętrznej dostępnym zakresie, ale intellisense argumentem będzie brakować, który jest niespójny IMHO.
Special Sauce
3
U mnie zadziałało zaznaczenie / odznaczenie, zamknięcie wszystkich okien i ponowne uruchomienie.
Marvin Effing
34

U mnie działa usunięcie dynamicznie budowanego pliku .suo (Solution User Options) w katalogu .vs (ukrytym) znajdującym się w tej samej ścieżce co plik rozwiązania.

Mam ten problem, który czasami wraca, i dotyczy on różnych projektów / rozwiązań, ale nigdy VS-wide. Nowe projekty zawsze działają dobrze.

Uruchamianie aktualizacji VS2015 Professional -2-

Mevius
źródło
To rozwiązanie zadziałało dla mnie! Microsoft Visual Studio Professional 2015 Version 14.0.25431.01 Update 3. Dziękuję Ci bardzo.
AndreaT
NIE stosuj się do tej rady. wszystkie konfiguracje mojego projektu zniknęły teraz (w tym katalogi, definicje itp.). VS2017
hacksoi
12

Mam ten sam problem; Intellisense losowo przestanie się wyświetlać w niektórych plikach, ale nie w innych. Po prostu znowu mi się to przydarzyło. Wciśnięcie Ctrl+ Spacenie pokaże niczego Form1, przełączenie się na Form2lub inną klasę spowoduje wyświetlenie listy zgodnie z oczekiwaniami. Ponowne uruchomienie programu Visual Studio zwykle załatwia sprawę, chociaż zepsucie takiej podstawowej funkcji jest bardzo irytujące i śmieszne ...

knrdk
źródło
11

U mnie zadziałało wyłączenie, a następnie ponowne włączenie Resharper

Iść do
Tools -> Options-> Resharper ->General

Kliknij
Suspend-> To wyłącza resharper

Następnie sprawdź, czy Intellisense działa, czy nie. W moim przypadku to zrobił, a potem wznowiono w Resharper .

Jeśli to nie zadziała, może być konieczne skorzystanie z funkcji Goto
Resharper -> Options-> Environment -> Intellisense -> General

I
zmień Intellisense naVisual Studio

ANewGuyInTown
źródło
11

Znalazłem rozwiązanie, które działa u mnie w 100% przypadków (nie mam zainstalowanego ReSharper). Naciśnięcie Refreshw Solution Explorermarek INTELLISENSE wrócić.

henrikmerlander
źródło
1
Działa dla mnie VS2017 bez
ReSharper
1
U mnie działa w VS2017 i nie wiem, czy jest zainstalowany program ReSharper. (Myślę, że obejmuje to wszystkie możliwe przypadki.)
Kody z Hammerem
7

To nie zadziałało przy tych wszystkich krokach. O dziwo zauważyłem, że Intellisense pracuje nad innym rozwiązaniem w Visual Studio 2015, ale nie nad konkretnym.

Zlokalizowałem i usunąłem plik .suo i ponownie uruchomiłem program Visual Studio. To naprawiło to dla mnie.

Abhishek Tiwari
źródło
2

Miałem ten sam problem w Visual Studio 2010 w C ++ i przekroczyłem go przez Narzędzia -> Opcje -> Edytor tekstu -> C / C ++ -> Zaawansowane -> Wyłącz bazę danych -> Fałsz, Ok; Zamknij VS; otwórz VS i voila.

GreatDane
źródło
Czy przetestowałeś to przed ponownym uruchomieniem VS? Zastanawiam się, czy samo ponowne uruchomienie naprawiło to.
Tony L.
1
Na początku przetestowałem go raz przed ponownym uruchomieniem VS i nie zadziałało, zmieniłem tę opcję kilka razy, a następnie uruchomiłem ponownie i po ponownym uruchomieniu zachowywał się inaczej, zgodnie z ostatnią zmianą; ergo wywnioskowałem, że efekty mają miejsce po restarcie VS.
GreatDane
2

Miałem do czynienia z tym problemem w Visual Studio 2015 + C #.

Po chwili rozwiązałem w ten sposób:

1) Aby przejść: Narzędzia -> Opcje -> Edytor tekstu -> C #

2) Zaznacz opcje „Automatycznie wyświetlaj członków” i „Włącz wirtualną przestrzeń”.

Prawdopodobnie niektóre rozszerzenia, takie jak R #, wyłączają te opcje, aby używać swoich narzędzi.

Fernando JS
źródło
2

W programie Visual Studio> 2015 usunąłem plik .suo. (wyszukaj go w swoim projekcie za pomocą eksploratora plików)

Uruchom ponownie Visual Studio i gotowe.

Mo D Genesis
źródło
1
Usunąłem folder .vs w moim projekcie, aby go naprawić w VS 2017 i 2019
Chesare
1

Mam ten sam problem z Visual Studio 2015 Preview. Zamknąłem ten odpowiedni plik i ponownie go otworzyłem. To rozwiązuje problem dla mnie :).

Rahul Techie
źródło
1

W moim przypadku dodałem plik .ascx.cs do projektu poprzez kliknięcie prawym przyciskiem myszy => „Uwzględnij w projekcie”, ale projekt ustawił go jako „Zawartość” zamiast „Kompiluj”. Kiedy ustawiłem to na „Kompiluj”, Intellisense znów zaczął działać.

Keith
źródło
1

Projekty MS Visual Studio 2017 Pro, C ++

Za dużo dobrych odpowiedzi na to pytanie. To zadziałało dla mnie:


IntelliSense działa tylko wtedy, gdy ładuję projekt przez dwukrotne kliknięcie pliku rozwiązania.

Wypróbowałem wszystkie powyższe odpowiedzi, niestety bez powodzenia. DLL, ustawienia, zależności ... Ty to nazwij. To jest do bani, że musisz przejść przez to wszystko, aby uzyskać autouzupełnianie ... przegap moją konfigurację Vima ...

Franx
źródło
0

Mam VS2012 aktualizację 4 i problem występuje sporadycznie, ale gdy pojawi się na tej konkretnej edytowanej stronie, pozostanie. Jednym z rozwiązań jest po prostu zamknięcie strony i ponowna edycja.

Oto kilka skrótów KBD, aby spróbować go ponownie uruchomić, ale nie wiem, czy działają.

Skrót klawiaturowy programu Visual Studio do wyświetlania funkcji Intellisense

Żadne z tych rozwiązań nie zadziałało, przy okazji używam C # ...

Myślę, że to kolejny błąd IS .... miał wiele problemów w przeszłości.

John Peters
źródło
0

@ TonyL nie zadziałało, ale zauważyłem, że Intellisense przestał działać w fooklasie po zmianie sygnatury metody w barklasie.

Zamknięcie i ponowne otwarcie foo.cspliku rozwiązało problem.

Danny Beckett
źródło
0

Jedna z rzeczy, która właśnie mi pomogła, to

  1. Usuwam każdy plik projektu, który tam jest. Mój projekt ma 10 folderów, ponad 30 plików.
  2. Odtworzenie projektu.

Zajmuje to około 5 minut - ale oszczędza dużo czasu, ponieważ Intellisense faktycznie zaczął działać.

Należy zauważyć, że zużycie pamięci (prawy górny róg VS 2013 Ultimate) wykazuje około 40% spadek.

Admirał Thrawn
źródło
2
Małe projekty będą w porządku. Patrzę jednak na bezrozumny projekt z ponad 100 000 plików w tej chwili.
Dagrooms
0

Spróbuj zainstalować pakiet aktualizacji 1, link . Miałem ten sam problem i rozwiązałem go po zainstalowaniu aktualizacji.

Cedr
źródło
3
Mam już zainstalowaną aktualizację i mam ten problem.
Josh Menzel,
Mam aktualizację 4, ale może się to zdarzyć. Domyślam się, że ponowne uruchomienie VS mogło być tym, co faktycznie naprawiło to dla ciebie.
Tony L.
0

Miałem ten sam problem, okazało się, że pakiety nuget nie były automatycznie pobierane dla rozwiązania, które pobrałem świeżo z repozytorium, dlatego funkcja Intellisense nie była dostępna, ponieważ żaden z wymaganych pakietów do wyświetlania właściwych sugestii nie był dostępny.

Ahsan
źródło
0

Obecnie oglądam samouczek Pythona MVA na youtube i zauważyłem, że moja inteligencja również zniknęła, wkrótce po tym, jak wyjaśnili, dlaczego,

coś w tym stylu (przepraszam za brak odpowiedniego słownictwa do kodowania, jestem nowy w programowaniu, ale znalazłem rozwiązanie)

Odpowiedź: „Visual studio nie zawsze może odgadnąć, co próbujesz wprowadzić - dlatego nie zawsze zdaje sobie sprawę, że musi dać ci wskazówkę, na przykład jeśli próbujesz użyć ciągu w zmiennej i potrzebujesz inteligencji opcje dla zawartości łańcuchów, musisz kiedyś powiedzieć programowi Visual Studio, że ta zmienna jest w rzeczywistości ciągiem.

przykład:

name = ' ' # insert this line to tell visual studio that your variable is a string.
name = input('whats your name? \n') 
name = name.upper() #then when you type name.u.... it will give you intellisense
cromij23
źródło
0

Miałem problem tylko w jednym pliku. Po utworzeniu nowej klasy i pracy nad nią, nie została ona dodana do zakresu mojego projektu. Kiedy więc następnego dnia zamknąłem i ponownie otworzyłem rozwiązanie, plik nie był objęty zakresem projektu.

Dodanie istniejącego elementu do zakresu projektu naprawiło to za mnie.

Minney
źródło
0

W moim przypadku na początku byłem po prostu nieobserwowalny i nie zauważyłem, że jeden z ponad 30 projektów w moim rozwiązaniu powiedział „(ładowanie nie powiodło się)”, mimo że jeden z jego plików był nadal załadowany w edytorze, ale nie miał inteligencji. Przeładowanie projektu załatwiło sprawę.

jhclark
źródło
0

Intellisense nie rozpoznał w moim przypadku zaimportowanej przestrzeni nazw, chociaż mogłem pomyślnie skompilować projekt. Rozwiązaniem było odznaczenie importowanej przestrzeni nazw na karcie referencji projektu, zapisanie projektu, ponowne sprawdzenie i ponowne zapisanie projektu.

Matias Masso
źródło
0

Miałem ten problem, gdy niektóre zależne zestawy zostały zmienione, ale zablokowane przez inną instancję programu Visual Studio (2015).

Jeroen van Langen
źródło
0

Moje rozwiązanie (korzystałem z perforce) polega na załadowaniu całego rozwiązania zamiast pojedynczego pliku.

Pierwotnie załadowałem plik, klikając go na siłę

Rozwiązanie Zamknij VS (który zamknął pojedynczy plik) Ponownie otwarty, uruchamiając plik rozwiązania zamiast pojedynczego pliku

Bruce G.
źródło
0

Jeśli używasz stron wzorcowych, utwórz pustą stronę wzorcową, użyj tej strony wzorcowej na stronie zawartości. Jeśli to rozwiąże problem, oznacza to, że wystąpił problem z oryginalną stroną wzorcową. Przenieś swój oryginalny kod krok po kroku na nową stronę wzorcową i po każdym porcie sprawdź, czy funkcja Intellisense działa poprawnie. Ta sztuczka rozwiązała mój problem z inteligencją.

Muhammad Yousaf Sulahria
źródło
0

W przypadku Pythona spróbuj kliknąć przycisk „Python XX” po lewej stronie dolnego paska stanu i zmienić go na inne wartości.

To jedyna rzecz, która zadziałała dla mnie.

user31415
źródło
0

Jeśli ktoś nadal ma ten problem, po prostu zamknij rozwiązanie, a następnie otwórz je ponownie.


źródło
0

Zajmowałem się tym tak długo, jak długo istniało Visual Studio. I tak, nawet w obecnej wersji nadal zawodzi (szczególnie w przypadku dużych projektów).

Chcę udostępnić małe darmowe narzędzie, które mój przyjaciel i ja napisaliśmy, aby rozwiązać ten sam problem. Zasadniczo zamykasz rozwiązanie, przeciągasz jego folder do ikony tego narzędzia, a ono zresetuje wszystkie pliki pośredniczące. (Przeczytaj instrukcję tekstową w środku, jeśli chcesz wiedzieć, które z nich. To nie jest tylko jeden plik).

Używam go do porządkowania wszystkich moich projektów VS. Więc proszę :

wprowadź opis obrazu tutaj

c00000fd
źródło
0

Visual Studio 2019

Jedyne, co mi zadziałało: Przejdź do Narzędzia -> Opcje -> Edytor tekstu -> C # -> Intellisense

I wyłącz

wprowadź opis obrazu tutaj

Okazało się, że byłem zbyt chętny do wypróbowania wszystkiego, co nowego w VS :) Zepsuło się jednak tylko w jednym rozwiązaniu.

Emilia Tyl
źródło