De acordo com este documento da Microsoft:
http://msdn.microsoft.com/en-us/library/ms174205.aspx
Eu devo usar ctrl + K e ctrl + D para formatar meus documentos SQL no SQL Server Management Studio 2012, mas quando eu uso esse combo, recebo o erro:
A combinação de teclas (Ctrl + K, Ctrl + D) está vinculada ao comando (Formatar documento), que não está disponível no momento.
Estou tentando fazer modificações em um documento SQL existente que não possui nenhuma formatação, o que dificulta a leitura. Alguém sabe como disponibilizar o comando Formatar documento para que eu possa ter o formato SQL deste código para mim?
sql-server
ssms
Aaron Bertrand
fonte
fonte
Available only in the text editor
é a maneira do escritor de tecnologia de dizer "não o editor consulta" sem explicitamente chamando o negativoRespostas:
A combinação de teclado que você procura ( Ctrl+ K, Ctrl+ D) é para "formatação" - mas não na extensão que você espera. Não é um prettificador, é apenas usado para inserir espaçamento e guias corretos, conforme encontrado em
Tools > Options > Text Editor > Transact-SQL > General/Tabs
- portanto, se você destacar uma parte do texto e pressionar a combinação do teclado, deve converter as guias em 4 espaços (se você selecionou inserir espaços), aplique o tipo de recuo especificado, etc.Essa opção NÃO visa tornar o código mais legível - essa não é a funcionalidade que o Management Studio oferece atualmente de forma nativa. Embora existam várias opções de terceiros - algumas são externas ao Management Studio, como:
E também existem suplementos para vários níveis de assistência de formatação no editor:
Agora, o motivo pelo qual você está recebendo a mensagem ...
... é porque o SSMS mapeou essa combinação de teclas para um contexto diferente. A maneira como você deve ser capaz de "consertar" isso - mais uma vez, seria ainda não fazer o que você quer que ele faça, mesmo que a "correção" funcionou - é fazendo o seguinte:
Tools > Options > Environment > Keyboard
Press shortcut keys:
caixaAltere o
Shortcut currently used by:
menu suspenso deDataWarehouse Designer
paraText Editor
pressione OK
Agora, isso deve mapear a combinação de teclado para o editor de texto, mas o Management Studio a reverte após pressionar OK (você continuará recebendo a mensagem de erro. Portanto, acho que o problema é que a documentação acredita que essa funcionalidade existe, mas o Management O Studio conhece-o melhor e simplesmente não o oferece (e a Microsoft provavelmente escreverá isso como um erro na documentação e o corrigirá, em vez de uma falha na ferramenta). Pode haver esperança no futuro, mas, por enquanto, esse é um problema conhecido e amplamente ignorado.Você notará que a
Formatting
guia a que a documentação se refere simplesmente não está presente (embora exista para XML, onde a combinação de teclados funciona) .A documentação provavelmente deve indicar:Outra maneira de ter uma idéia de que tipo de opções de formatação o SSMS oferece nativamente é acessar
Tools > Customize > Commands > Edit > Add Command... > Format
a lista de comandos possíveis. Nada que indique que existe algum conhecimento do idioma real; portanto, ele não saberia onde inserir quebras de linha ou adicionar recuos adicionais ou ajudar com parênteses etc.Se você deseja que a formatação específica do idioma torne o código T-SQL existente mais legível, você não obterá muito do SSMS e precisará procurar outras opções.
fonte
Ctrl+K, Ctrl+D
primeiro usando oRemove
botão e, em seguida, siga o programa de quatro etapas do Aaron para vincular o teclado, conforme definido acima (Tools > Options > Environment > Keyboard
). Aqui está uma captura de tela daOptions
aparência da minha caixa de diálogo, depois que tudo estiver configurado: pasteboard.co/GDYkh3h.jpg .Não acredito que isso seja possível no SSMS. Um item do Connect foi aberto para esse recurso.
Pessoalmente, o que eu gosto de usar para o código SQL mal formatado é o aplicativo da Web em SQL ruim . Realiza um ótimo trabalho de formatação do código SQL para suas especificações. Até gera HTML, se você desejar. Eu não uso o plug-in SSMS ou quaisquer outros produtos que eles anunciam; sempre pulo no site para fazer a formatação rápida e depois copio / colo diretamente no SSMS.
fonte
Instale um complemento que faça isso. Eu uso a Free Edition of SQL Complete: http://www.devart.com/dbforge/sql/sqlcomplete/, que oferece algumas funcionalidades básicas de formatação SQL. Ele se integra ao SSMS e usa Ctrl + K, D.
fonte
SqlSmash é uma ferramenta comercial que permite formatar seu SQL (e muito mais) no SSMS 2012 e 2014. O atalho de teclado padrão é (Ctrl + K, Ctrl + D).
Disclaimer: Eu sou o desenvolvedor por trás disso.
fonte