SQL Server Management Studio'nun otomatik tamamlamayı bastır


21

Bir sorgu yazarken SQL Server Management Studio'nun otomatik tamamlamasını geçici olarak bastırmanın bir yolu var mı? Otomatik tamamlamayı tamamen devre dışı bırakmak istemiyorum, sadece belirli bir kelimeyi yazarken bazı tuşlara basılı tutun ve böylece engellemeyin.

Örneğin, aşağıdaki sorguyu aldığımı varsayalım

SELECT Foo, Foo2 FROM SomeTable

Ben yazarken Foove sonra vurmak ve tamamlamalar, SQL Server Management Studio otomatik tamamlama tekmeler uzay-bar Fooiçin FooBar.


6
SQL Server 2012 Management Studio'daki IntelliSense'in çok daha az agresif olduğunu göreceksiniz. 2008'de dayanamıyorum - ID adlı bir sütun varsa IDENT_CURRENT olarak değiştirilir. Kusmak.
Aaron Bertrand

1
@AaronBertrand - Alan veya virgül vurmak yine de otomatik olarak tamamlanıyor mu? Diğer ortamlarda bunun için sekmek zorunda olduğum için çok sinir bozucu buluyorum ve% 95 otomatik olarak tamamlandıktan sonra silmem gereken bir şeye tamamlıyor.
Martin Smith

@MartinSmith boşluk ve virgül için, bariz seçimi (bu bir tuş vuruşu) vurgulamak için aşağı oku kullanmazsanız, sonra boşluk veya virgül vurursanız, olması gerektiği gibi yorumlanırlar. Sekme, SSMS'nin kastettiğini düşündüğü seçeneği seçer. Ve "en iyi seçim" algoritması 2008/2008 R2'den 1000 kat daha iyi. Benim için en iyi bölüm kısmi eşleşmedir. yazın sys.dependve otomatik tamamlama listesi, içeren tüm DMV'lere / katalog görünümlerine filtrelenir depend.
Aaron Bertrand

1
@MartinSmith Bu OP'ye yardımcı olmayacak, ancak sanırım SSMS 2014'te bir çözüm buldum ... aşağıda gönderildi.
Doug_Ivison

1
@Doug_Ivison Bu soruyu bir süre önce gönderdim, şimdi SSMS 2016 kullanıyorum. Sanırım şimdi bu konuda daha iyi ..
Jack

Yanıtlar:


26

Boşluğu ESCvurmadan önce sözcüğü yazmayı bitirdiğinizde pencereyi kapatmak için vurun , ancak ESC'fo' tuşuna basarsanız ve sonra 'o' yazarsanız, tekrar devreye girecektir.

Sık kullanmazsanız başka bir seçenek, devre dışı bırakmak ( Tools->Options->Text Editor->Transact-SQL->General->Auto list members) ve kullanmak istediğinizde manuel olarak getirmek için CTRL+ Jkullanmak olacaktır. Red Gate ayrıca daha fazla kontrol sunabilecek SQL Prompt adlı bir ürüne sahiptir .

Ayrıca, geçici olarak devre dışı bırakmak / etkinleştirmek istiyorsanız Sorgu menüsü altında ve Sorgu araç çubuğunda bir "Intellisense Etkin" seçeneği vardır.


1
(Bu, VS gibi diğer MS araçlarında da çalışır)
pst

Teşekkürler, ancak yine de boşluklar içeren isimler için süper can sıkıcı ( [Foo Bar]örneğin), çünkü bahsettiğiniz gibi tekrar vurmaya devam ediyor, böylece vurmaya devam etmeniz gerekiyor ESC. Farklı bir çözüm olup olmadığını öğrenmek için kabul etmeden önce soruyu biraz daha açık bırakacağım.

Kabul ediyorum, tablolarınızdan belirtilmemişseniz otomatik tamamlamanın belirli bir yan tümcedeki etkinleştirilmesi gerektiğini düşünmüyorum.

1
Ctrl+space(daha yaygın kısayol tuşu) da otomatik tamamlamayı getirmek için çalışır.
Marc

4

Yanlış otomatik seçim göründükten sonra (ctrl-Z) geri alırsanız, orijinal girişiniz geri yüklenir.


2

Bu, SSMS 2008 ile yardımcı olmaz, ancak (başkalarının bu sayfayı benim yaptığım gibi bulması durumunda), SSMS 2014'te bir çözüm bulduğumu düşünüyorum:

Düzenle açılır menüsünün altında, alt kısımda Intellisense'i seçin ve ardından "Kelimeyi Tamamla" yı değiştirin.

Bu, bir boşluk yazıldığında örtük sözcük tamamlamayı kapatıyor gibi görünüyor, ancak yine de sütun adları için tamamlama için sunulan açılır menüleri alıyorum;

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.