Zgodnie z tym dokumentem Microsoft:
http://msdn.microsoft.com/en-us/library/ms174205.aspx
Powinienem być w stanie użyć klawiszy Ctrl + K, a następnie Ctrl + D, aby sformatować moje dokumenty SQL w SQL Server Management Studio 2012, ale kiedy używam tej kombinacji, pojawia się błąd:
Kombinacja klawiszy (Ctrl + K, Ctrl + D) jest powiązana z poleceniem (Formatuj dokument), które nie jest obecnie dostępne.
Próbuję wprowadzić modyfikacje do istniejącego dokumentu SQL, który w ogóle nie ma formatowania, co sprawia, że jego odczytanie jest niezwykle trudne. Czy ktoś wie, jak udostępnić polecenie Formatuj dokument, abym mógł sformatować ten kod SQL dla siebie?
sql-server
ssms
Aaron Bertrand
źródło
źródło
Available only in the text editor
jest sposobem pisarza technicznego na powiedzenie „nie edytor zapytań” bez wyraźnego wzywania negatywuOdpowiedzi:
Kombinacja klawiatury, której szukasz ( Ctrl+ K, Ctrl+ D), służy do „formatowania” - ale nie w takim zakresie, w jakim się wydaje. To nie jest prettifier, służy tylko do wstawiania prawidłowych odstępów i tabulatorów, tak jak w
Tools > Options > Text Editor > Transact-SQL > General/Tabs
- więc jeśli podświetlisz fragment tekstu i naciśniesz kombinację klawiatury, to powinien przekonwertować tabulatory na 4 spacje (jeśli wybrałeś wstawianie spacje), zastosuj określony typ wcięcia itp.Ta opcja NIE ma na celu uczynienia kodu bardziej czytelnym - nie jest to funkcjonalność, którą Management Studio obecnie oferuje natywnie. Chociaż istnieje kilka opcji innych firm - niektóre są zewnętrzne względem Management Studio, takie jak:
Istnieją również dodatki do różnych poziomów pomocy formatowania w edytorze:
Powód, dla którego otrzymujesz wiadomość ...
... ponieważ SSMS odwzorował tę kombinację klawiszy na inny kontekst. Sposób, w jaki powinieneś być w stanie to „naprawić” - znowu, to nie zrobiłoby tego, co chcesz, nawet gdyby „poprawka” działała - wykonując następujące czynności:
Tools > Options > Environment > Keyboard
Press shortcut keys:
poluZmień listę
Shortcut currently used by:
rozwijaną zDataWarehouse Designer
naText Editor
wciśnij OK
Teraz ma to odwzorować kombinację klawiatury na edytor tekstowy, ale Management Studio odwraca ją po naciśnięciu OK (nadal pojawi się komunikat o błędzie. Myślę, że problem polega na tym, że dokumentacja uważa, że ta funkcjonalność istnieje, ale zarządzanie Studio wie lepiej i po prostu go nie oferuje (a Microsoft prawdopodobnie skasuje to jako błąd w dokumentacji i poprawi, a nie niedociągnięcie w narzędziu). Może być nadzieja w przyszłości, ale na razie jest to znany i w dużej mierze ignorowany problem . Zauważysz, że
Formatting
karta, do której odnosi się dokumentacja, po prostu nie jest obecna (chociaż jest tam dla XML, gdzie kombinacja klawiatury działa). Dokumentacja powinna prawdopodobnie zawierać:Innym sposobem, aby dowiedzieć się, jaki rodzaj opcji formatowania oferuje SSMS natywnie, jest
Tools > Customize > Commands > Edit > Add Command... > Format
przejrzenie listy możliwych poleceń. Nic nie wskazuje na to, że istnieje jakakolwiek znajomość rzeczywistego języka, więc nie wiedziałby, gdzie wstawić łamanie linii, dodać dodatkowe wcięcia lub pomóc w nawiasach itp.Jeśli chcesz, aby formatowanie specyficzne dla języka uczyniło istniejący kod T-SQL bardziej czytelnym, nie dostaniesz wiele z SSMS i będziesz musiał szukać innych opcji.
źródło
Ctrl+K, Ctrl+D
najpierw za pomocąRemove
przycisku, a następnie zgodnie z czterostopniowym programem Aarona do wiązania klawiatury, jak zdefiniowano powyżej (Tools > Options > Environment > Keyboard
). Oto zrzut ekranu tegoOptions
, jak wygląda moje okno dialogowe po skonfigurowaniu: pasteboard.co/GDYkh3h.jpg .Nie wierzę, że jest to możliwe w SSMS. Było poz Połącz otwarty dla tej funkcji.
To, co osobiście lubię używać do źle sformatowanego kodu SQL, to aplikacja internetowa na słabym SQL . Bardzo dobrze formatuje kod SQL zgodnie ze specyfikacjami. Nawet generuje HTML, jeśli chcesz. Nie używam wtyczki SSMS ani żadnych innych reklamowanych przez siebie produktów, zawsze po prostu wskakuję na stronę, aby wykonać szybkie formatowanie, a następnie kopiować / wklejać bezpośrednio do SSMS.
źródło
Zainstaluj dodatek, który to robi. Korzystam z bezpłatnej wersji SQL Complete: http://www.devart.com/dbforge/sql/sqlcomplete/, która oferuje podstawowe funkcje formatowania SQL. Integruje się z SSMS i używa Ctrl + K, D.
źródło
SqlSmash to komercyjne narzędzie, które pozwala sformatować SQL (i wiele więcej) w SSMS 2012 i 2014. Domyślny skrót klawiaturowy to (Ctrl + K, Ctrl + D).
Oświadczenie: Jestem programistą.
źródło