Придушити автоматичне завершення студії управління SQL Server Studio


21

Чи існує спосіб тимчасового придушення автоматичного заповнення програми SQL Server Management Studio під час введення запиту? Я не хочу повністю відключити автоматичне завершення, просто скажіть, утримуючи якусь клавішу під час введення певного слова, щоб вона не заважала.

Наприклад, скажіть, у мене був такий запит

SELECT Foo, Foo2 FROM SomeTable

Як я друкую , Fooа потім натисніть простір-бар автозаповнення стусанів SQL Server Management Studio в і завершується Fooдо FooBar.


6
Ви побачите, що IntelliSense у студії управління SQL Server 2012 набагато менш агресивний. Я не витримую цього в 2008 році - якщо є стовпець з ідентифікатором, його змінюють на IDENT_CURRENT. Пука.
Аарон Бертран

1
@AaronBertrand - Чи вражає пробіл чи кома все ще автоматично завершено? Мені здається, що це дуже дратує, оскільки я звик до вкладки цього в інших середовищах і в 95% часу він автоматично завершує те, що мені потрібно видалити в кінці.
Мартін Сміт

@MartinSmith пробіл і кома вони інтерпретуються як слід, якщо ви не використовуєте стрілку вниз для виділення очевидного вибору (це один натискання клавіші), а потім натисніть пробіл або кома. Вкладка вибирає опцію, яку, на вашу думку, мали на увазі SSMS. А алгоритм "найкращого вибору" на 1000 разів кращий, ніж у 2008/2008 R2. Найкраща для мене - часткова відповідність. введіть, sys.dependа список автоматичного заповнення фільтрується до всіх DMV / переглядів каталогів, які містять depend .
Аарон Бертран

1
@MartinSmith Це не допоможе ОП, але я думаю, що я знайшов рішення в SSMS 2014 ..., розміщеному нижче.
Doug_Ivison

1
@Doug_Ivison Я давно писав це питання, зараз я використовую SSMS 2016. Я думаю, що зараз краще в цьому плані ..
Джек

Відповіді:


26

Натисніть, ESCщоб закрити вікно, набравши слово перед тим, як потрапити на пробіл, але якщо ви натиснете ESCпісля 'fo', а потім наберіть 'o', воно запуститься знову.

Іншим варіантом, якщо ви не використовуєте його часто, буде відключити його ( Tools->Options->Text Editor->Transact-SQL->General->Auto list members) і використовувати CTRL+, Jщоб підняти його вручну, коли ви хочете його використовувати. Red Gate також має продукт під назвою SQL Prompt, який може запропонувати більше контролю.

Крім того, в меню "Запит" та на панелі інструментів "Запит" є параметр "Включений Intellisense", якщо ви бажаєте тимчасово відключити / увімкнути його.


1
(Це також працює в інших інструментах MS, таких як VS.)
pst

Дякую, але це все ще супер дратує імена, які містять пробіли ( [Foo Bar]наприклад), оскільки, як ви вже згадували, він знову починається, тож вам в кінцевому підсумку потрібно продовжувати натискати ESC. Я залишаю питання відкритим трохи довше, перш ніж приймати, щоб дізнатися, чи знає хтось про інше рішення.

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

1
Ctrl+space(більш поширена швидка клавіша) також працює для автоматичного завершення.
Марк

4

Якщо ви скасуєте (ctrl-Z) після неправильного автоматичного вибору, ваш початковий запис буде відновлено.


2

Це не допоможе в SSMS 2008, але (якщо інші знайшли цю сторінку, як я), я думаю, що я знайшов рішення в SSMS 2014:

У спадному меню "Правка" внизу виберіть Intellisense та переключіть "Повне слово".

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

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