it-swarm.dev

IntelliSense nie działa, ale jest włączony

Ten problem naprawdę okazuje się trudny (i dość denerwujący).

W SQL Server Management Studio 2008 jeszcze kilka dni temu moja IntelliSense działała świetnie. Nagle się zatrzymało. Ikona, ponieważ jest włączona w menu paska narzędzi, aw obszarze Narzędzia -> Opcje -> Edytor tekstu -> T-SQL -> IntelliSense mówi, że jest tam włączona.

Próbowałem odświeżać pamięć podręczną IntelliSense za pomocą Ctrl-Shft-R, ale to też nie działa.

Jakieś pomysły, co się stało z moją IntelliSense i co muszę zrobić, aby ją odzyskać?

30
Thomas Stringer

Jeśli niedawno zaktualizowałeś VisualStudio, zobacz ten link, aby uzyskać poprawkę:

Funkcja IntelliSense w SSMS 2008 R2 może przestać działać po zainstalowaniu Visual Studio 2010 SP1

Możesz też pobrać poprawkę bezpośrednio stąd:

Jak uzyskać najnowszy dodatek service pack dla SQL Server 2008 R2

11
Ezi

Istnieje wiele możliwości, w których IntelliSense nie działa:

Są przypadki, w których lokalna pamięć podręczna używana przez IntelliSense staje się nieaktualna. Odświeżanie pamięci podręcznej jest łatwe, ale niekoniecznie oczywiste.

Istnieją dwa sposoby odświeżenia pamięci podręcznej:

  1. Trafienie Ctrl+Shift+R
  2. Przejdź do Edycja -> IntelliSense -> Odśwież lokalną pamięć podręczną

Jeśli IntelliSense nadal nie działa, upewnij się, że masz włączoną IntelliSense. Aby to sprawdzić w oknie edytora zapytań T-SQL bieżącej bazy danych:

  1. Idź do Narzędzia -> Opcje -> Edytor tekstu -> Transact-SQL -> Ogólne -> IntelliSense
  2. Przejdź do zapytania -> IntelliSense powinien być wybrany
  3. Sprawdź także, czy T-SQL Editor nie uruchamia się w trybie SQLCMD. Sprawdzić:

    • Przejdź do Narzędzia -> Opcje -> Wykonanie zapytania -> SQL Server -> Ogólne
    • Upewnij się, że „Domyślnie otwieraj nowe zapytania w trybie SQLCMD” nie jest zaznaczone.
    • lub Idź do zapytania -> Tryb SQLCMD nie powinien być wybrany

Czytaj więcej

31
Ritesh D

Miałem ten problem, więc posłuchałem rady Ritesha D. i poszedłem do Narzędzia -> Opcje -> Edytor tekstu -> Transact-SQL -> Ogólne . Sprawdziłem IntelliSense i stwierdziłem, że jest już włączony.

Odkryłem jednak, że „Auto list członkowie” i „Informacje o parametrach” nie są zaznaczone. Więc sprawdziłem je. To rozwiązało mój problem.

enter image description here

Te dwie funkcje nazywam „inteligencją” i Microsoft się nie zgadza :

IntelliSense to ogólny termin określający szereg funkcji: członków listy, informacje o parametrach, szybkie informacje i pełne słowo. Te funkcje pomagają dowiedzieć się więcej o używanym kodzie, śledzić wpisywane parametry oraz dodawać wywołania do właściwości i metod za pomocą kilku naciśnięć klawiszy.

16
Michael Currie

Sprawdź, czy Maksymalny rozmiar skryptu jest ustawiony na „Nieograniczony” w opcji menu Narzędzia -> Opcje -> Edytor tekstu -> Transact-SQL -> Ogólne -> IntelliSense. Zrobiłem to i intellisense zaczęło działać

9
RT0205

Gdy używasz zdalnej bazy danych z niskim połączeniem transferu (na przykład połączyłem się z Europy do serwera biurowego dalekiej Azji) i gdy struktura bazy danych nie jest mała (na przykład wiele tabel), SSMS potrzebuje dużo więcej czasu na uzupełnienie wszystkich danych IntelliSense.

W moim przypadku musiałem czekać ponad 1 minutę, aby mieć dostęp do IntelliSense (wolne połączenie i db z około 1000 tabel). (SSMS nie wyświetla żadnych wskaźników postępu ani żadnych informacji związanych z procesem ładowania IntelliSense)

5
Bronek

Zauważyłem ten problem, gdy odwołałem niektóre uprawnienia dla użytkownika publicznego, zgodnie z sugestią platformy Azure. Pomogło to rozwiązać mój problem:

use master
go
GRANT EXECUTE ON [xp_instance_regread] TO [public]
GRANT EXECUTE ON [xp_regread] TO [public]
1

OFFLINE bazy danych mogą spowodować, że intelissense przestanie działać. Możesz to przetestować, ustawiając dowolną bazę danych na podłączonym serwerze w tryb offline i przywracając ją.

Potwierdzam to jako błąd SQL 2016

1
jean