Estou usando o SQL Server Management Studio 2016 no Windows 10. Estou cansado de usar as teclas shift/ctrl+up/down/right/left para selecionar o código que quero executar. Eu estou querendo saber se existem atalhos/snippets para selecionar um bloco de código separado de outro código por linhas em branco?
Aqui está um exemplo de código:
select *
from tab1
select *
from tab2
select *
from tab3
Digamos, meu cursor está dentro do bloco do meio e qual é a melhor maneira de selecionar o bloco do meio?
Usando o Autohotkey, consegui desenvolver uma solução para selecionar um bloco de código e aqui está o script que tenho:
Especificamente, pressionar Alt + B irá invocar este script, e o script irá selecionar o bloco de código onde o cursor está. Observe que o bloco de código deve ser separado de outros blocos de código por linhas em branco, e o bloco de código não pode ter linhas em branco dentro de si.
As etapas principais do script sobre são
usando a expressão regular "^\r$" para localizar as linhas em branco acima e abaixo do cursor
movendo o cursor para essas duas linhas em branco uma a uma
usando ctrl + = para selecionar o bloco de código entre essas duas linhas em branco.
Observe que !/^/+ são alt/ctrl/shift separadamente.
Uma maneira de selecionar rapidamente blocos de código dentro do SSMS é minimizar o código usando o
-
botão próximo à palavra-chave principal em uma instrução SQL (por exemplo, SELECT, UPDATE, DELETE, WITH, etc.) e então destacar essa linha e pressionarF5
para executá-la.Dependendo da sua versão do SSMS (as versões mais recentes obviamente são preferidas neste caso), também existem alguns atalhos de teclado que você pode usar para recolher/expandir uma seção. O link de atalho de teclado fornecido pela resposta anterior de Simon Hellings alude a teclas de atalho já sendo definidas, mas não posso confirmar que elas realmente funcionam. No entanto, você pode definir algumas teclas de atalho personalizadas para fazer isso da seguinte maneira:
As funções para as quais estamos preocupados em definir as teclas de atalho são encontradas em
Edit
->Outlining
Opções do menu:Para definir as teclas de atalho, navegue até
Tools
->Options...
->Environment
->Keyboard
->Keyboard
. Digite naOutlin
caixa Mostrar comandos contendo :. Em seguida, atribua uma nova combinação de teclas de atalho paraEdit.ToggleAllOutlining
eEdit.ToggleOutliningExpansion
e pressioneAssign
:Agora, verifique os atalhos após pressionar Ok e suas teclas de atalho devem funcionar conforme o esperado. Como você pode ver, eu atribuí o meu para
CTRL+ALT+Left Arrow
eCTRL+ALT+Right Arrow
, mas você pode usar o que quiser:Por fim, se isso não funcionar, talvez seja necessário alternar para um cliente SQL diferente. Parece que a funcionalidade que você deseja é semelhante à execução de um bloco Oracle PL/SQL por meio
CTRL + ENTER
do Oracle SQL Developer. Você pode usar o Oracle SQL Developer para se conectar ao SQL Server usando drivers JDBC de banco de dados de terceiros ( ref ), mas eu não recomendo.Não sou afiliado ao Red-Gate, mas gostaria de salientar que se você pressionar Shift-F5, quando você possuir uma nova cópia do SQL Prompt, a consulta em que seu cursor está, será marcada em verde e executada .
Isso realmente me salvou de muitas teclas.
Não use as teclas
up
/down
/right
/left
para selecionar seu código a ser executado.Supondo que um mouse de computador possa ser usado, faça o seguinte:
Ctrl
tecla, então mova o mouse para incluir o último caractere a ser incluído.Ctrl
tecla e pressione aE
tecla que executará o texto destacado.Se você quiser deletar o código que acabou de ser executado, você deve continuar segurando a
Ctrl
tecla e então pressionar aDelete
tecla .Suponho que seja possível que alguém tenha criado uma ferramenta para fazer isso automaticamente.
Eu não acho que isso seja possível. Veja a lista completa de atalhos prontos para uso aqui . Você pode personalizar algo nas ferramentas -> menu de opções