Pomiń automatyczne uzupełnianie SQL Server Management Studio

21

Czy istnieje sposób, aby tymczasowo wyłączyć automatyczne uzupełnianie programu SQL Server Management Studio podczas wpisywania zapytania? Nie chcę całkowicie wyłączać autouzupełniania, po prostu powiedz, że przytrzymasz jakiś klawisz podczas wpisywania określonego słowa, aby nie przeszkadzało.

Powiedzmy na przykład, że miałem następujące zapytanie

SELECT Foo, Foo2 FROM SomeTable

Podczas wpisywania, Fooa następnie wciskania spacji program SQL Server Management Studio uruchamia się automatycznie i wykonuje Foopolecenie FooBar.

Jacek
źródło
6
Przekonasz się, że IntelliSense w SQL Server 2012 Management Studio jest znacznie mniej agresywny. Nie mogę tego znieść w 2008 roku - jeśli istnieje kolumna o nazwie ID, zostaje zmieniona na IDENT_CURRENT. Rzygać.
Aaron Bertrand
1
@AaronBertrand - Czy naciśnięcie spacji lub przecinka jest nadal automatycznie wykonywane? Uważam to za bardzo irytujące, ponieważ przyzwyczaiłem się do tabulowania tego w innych środowiskach i przez 95% czasu auto kończy się na czymś, co muszę usunąć na końcu.
Martin Smith,
@MartinSmith dla spacji i przecinków, są interpretowane tak, jak powinny, chyba że użyjesz strzałki w dół, aby podświetlić oczywisty wybór (jest to jedno naciśnięcie klawisza), a następnie naciśnij spację lub przecinek. Tab wybiera opcję, którą SSMS myśli, że miałeś na myśli. Algorytm „najlepszego wyboru” jest 1000 razy lepszy niż 2008/2008 R2. Najlepsze jest dla mnie częściowe dopasowanie. wpisz, sys.dependa lista autouzupełniania jest filtrowana do wszystkich widoków DMV / katalogu, które zawierają depend .
Aaron Bertrand
1
@MartinSmith To nie pomoże OP, ale myślę, że znalazłem rozwiązanie w SSMS 2014 ... opublikowane poniżej.
Doug_Ivison
1
@Doug_Ivison Zadałem to pytanie jakiś czas temu, teraz używam SSMS 2016. Myślę, że teraz jest lepiej pod tym względem ..
Jack

Odpowiedzi:

26

Naciśnij, ESCaby zamknąć okno, gdy skończysz pisać słowo przed naciśnięciem spacji, ale jeśli uderzysz ESCpo „fo”, a następnie wpisz „o”, to ponownie się pojawi.

Inną opcją, jeśli nie będziesz go często używać, byłoby wyłączenie go ( Tools->Options->Text Editor->Transact-SQL->General->Auto list members) i użycie CTRL+, Jaby wywołać go ręcznie, gdy chcesz go użyć. Red Gate ma także produkt o nazwie SQL Monit, który może oferować większą kontrolę.

Ponadto w menu Zapytanie i na pasku narzędzi Zapytanie dostępna jest opcja „Intellisense włączone”, jeśli chcesz ją tymczasowo wyłączyć / włączyć.

Jason Goemaat
źródło
1
(Działa to również w innych narzędziach MS, takich jak VS.)
pst
Dzięki, ale wciąż jest bardzo denerwujące dla nazw zawierających spacje ( [Foo Bar]na przykład), ponieważ jak wspomniałeś, ponownie się pojawia, więc musisz ciągle uderzać ESC. Pozostawię pytanie otwarte dłużej, zanim zaakceptuję, czy ktoś wie o innym rozwiązaniu.
Zgadzam się, nie sądzę, że autouzupełnianie powinno być włączone w klauzuli select, chyba że masz już określone z tabel.
1
Ctrl+space(bardziej popularny skrót) działa również w celu uruchomienia autouzupełniania.
Marc
4

Jeśli cofniesz (ctrl-Z) po pojawieniu się niewłaściwego automatycznego wyboru, oryginalny wpis zostanie przywrócony.

BKeith
źródło
2

To nie pomoże w SSMS 2008, ale (w przypadku, gdy inni znaleźli tę stronę, tak jak ja), myślę, że znalazłem rozwiązanie w SSMS 2014:

W menu rozwijanym Edycja u dołu wybierz Intellisense, a następnie przełącz „Pełne słowo”.

Wydaje się, że wyłącza to niejawne uzupełnianie słów po wpisaniu spacji, ale wciąż dostaję rozwijane listy dla nazw kolumn, które można wybrać za pomocą strzałek, a następnie powrotu / tabu / spacji.

Doug_Ivison
źródło