Suprimir a conclusão automática do SQL Server Management Studio

21

Existe uma maneira de suprimir temporariamente o preenchimento automático do SQL Server Management Studio ao digitar uma consulta? Não quero desativar o preenchimento automático completamente, basta pressionar e segurar uma tecla enquanto digita uma palavra específica para que não atrapalhe.

Por exemplo, digamos que eu tive a seguinte consulta

SELECT Foo, Foo2 FROM SomeTable

Enquanto digito Fooe depois bateu espaço-bar chutes auto-completar do SQL Server Management Studio no e completa Foopara FooBar.

Jack
fonte
6
Você verá que o IntelliSense no SQL Server 2012 Management Studio é muito menos agressivo. Não suporto isso em 2008 - se houver uma coluna chamada ID, ela será alterada para IDENT_CURRENT. Vomitar.
Aaron Bertrand
11
@AaronBertrand - Bater espaço ou vírgula ainda é concluído automaticamente? Acho isso muito chato, já que estou acostumado a ter que tabular isso em outros ambientes e 95% do tempo é concluído automaticamente para algo que eu preciso excluir no final.
Martin Smith
@MartinSmith para espaço e vírgula, eles são interpretados como deveriam ser, a menos que você use a seta para baixo para destacar a seleção óbvia (esta é uma combinação de teclas) e pressione espaço ou vírgula. Tab seleciona a opção que o SSMS acha que você quis dizer. E o algoritmo para "melhor escolha" é 1000X melhor que o 2008/2008 R2. A melhor parte para mim é uma partida parcial. tipo sys.depende a lista de preenchimento automático é filtrada para todas as visualizações de DMVs / catálogo que contêm depend .
Aaron Bertrand
11
@MartinSmith Isso não vai ajudar o OP, mas acho que encontrei uma solução no SSMS 2014 ... postada abaixo.
Doug_Ivison
11
@Doug_Ivison Publiquei essa pergunta há algum tempo, agora estou usando o SSMS 2016. Acho que é melhor a esse respeito agora ... #
Jack

Respostas:

26

Pressione ESCpara fechar a janela quando terminar de digitar a palavra antes de atingir o espaço, mas se você pressionar ESCapós 'fo' e depois digitar 'o', a mensagem será ativada novamente.

Outra opção, se você não a usar com frequência, seria desativá-lo ( Tools->Options->Text Editor->Transact-SQL->General->Auto list members) e usar CTRL+ Jpara trazê-lo manualmente quando quiser usá-lo. O Red Gate também possui um produto chamado SQL Prompt, que pode oferecer mais controle.

Além disso, há uma opção "Intellisense ativado" no menu Consulta e na barra de ferramentas Consulta, se você deseja desabilitar / habilitar temporariamente.

Jason Goemaat
fonte
11
(Isso também funciona em outras ferramentas MS como VS.)
pst
Obrigado, mas ainda é super irritante para nomes que contêm espaços ( [Foo Bar]por exemplo), pois, como você mencionou, ele entra em ação novamente e você acaba precisando continuar batendo ESC. Vou deixar a pergunta em aberto um pouco mais antes de aceitar para ver se alguém sabe de uma solução diferente.
Concordo, não acho que o preenchimento automático deva ser ativado em uma cláusula de seleção, a menos que você já tenha as tabelas from especificadas.
11
Ctrl+space(a tecla de atalho mais comum) também funciona para ativar o preenchimento automático.
Marc
4

Se você desfazer (ctrl-Z) após a seleção automática incorreta aparecer, sua entrada original será restaurada.

BKeith
fonte
2

Isso não ajudará no SSMS 2008, mas (no caso de outras pessoas encontrarem esta página, como eu), acho que encontrei uma solução no SSMS 2014:

No menu suspenso Editar, na parte inferior, selecione Intellisense e alterne "Palavra completa".

Isso parece desativar a conclusão implícita de palavras quando um espaço é digitado, mas ainda estou recebendo os menus suspensos oferecidos para conclusão para nomes de colunas, que podem ser selecionados usando as setas e, em seguida, return / tab / space.

Doug_Ivison
fonte