Menurut dokumen Microsoft ini:
http://msdn.microsoft.com/en-us/library/ms174205.aspx
Saya seharusnya dapat menggunakan ctrl + K lalu ctrl + D untuk memformat dokumen SQL saya di SQL Server Management Studio 2012 tetapi ketika saya menggunakan kombo itu saya mendapatkan kesalahan:
Kombinasi tombol (Ctrl + K, Ctrl + D) terikat ke perintah (Format Dokumen) yang saat ini tidak tersedia.
Saya mencoba membuat modifikasi pada dokumen SQL yang sudah ada yang tidak memiliki format sama sekali yang membuatnya sangat sulit untuk dibaca. Adakah yang tahu bagaimana membuat perintah Format Dokumen tersedia sehingga saya dapat meminta SQL memformat kode ini untuk saya?
sql-server
ssms
Aaron Bertrand
sumber
sumber
Available only in the text editor
adalah cara penulis teknologi untuk mengatakan "bukan editor permintaan" tanpa secara eksplisit menyebut negatifJawaban:
Kombinasi keyboard yang Anda cari ( Ctrl+ K, Ctrl+ D) adalah untuk "memformat" - tetapi tidak sejauh yang Anda harapkan. Ini bukan prettifier, itu hanya digunakan untuk menyisipkan spasi dan tab yang benar seperti yang ditemukan di
Tools > Options > Text Editor > Transact-SQL > General/Tabs
- jadi jika Anda menyorot sebagian teks dan menekan kombinasi keyboard, itu seharusnya mengkonversi tab menjadi 4 spasi (jika Anda memilih memasukkan spasi), terapkan jenis indentasi yang telah Anda tentukan, dll.Opsi ini TIDAK dimaksudkan untuk membuat kode lebih mudah dibaca - ini bukan fungsionalitas yang saat ini ditawarkan oleh Studio Manajemen secara asli. Meskipun ada beberapa opsi pihak ketiga - beberapa di luar Studio Management, seperti:
Dan ada tambahan juga untuk berbagai tingkat bantuan pemformatan di dalam editor:
Sekarang, alasan Anda mendapatkan pesan ...
... karena SSMS telah memetakan kombinasi kunci ke konteks yang berbeda. Cara Anda harus dapat "memperbaiki" ini - sekali lagi, itu masih tidak akan melakukan apa yang Anda inginkan, bahkan jika "perbaikan" berhasil - adalah dengan melakukan hal berikut:
Tools > Options > Environment > Keyboard
Press shortcut keys:
kotakUbah
Shortcut currently used by:
tarik turun dariDataWarehouse Designer
menjadiText Editor
tekan OK
Sekarang, ini seharusnya memetakan kombinasi keyboard ke editor teks, tetapi Management Studio mengembalikannya setelah menekan OK (Anda akan terus mendapatkan pesan kesalahan. Jadi, saya pikir masalahnya adalah dokumentasi percaya bahwa fungsi ini ada, tetapi Management Studio lebih tahu dan tidak menawarkannya (dan Microsoft kemungkinan akan menulis ini sebagai bug dalam dokumentasi, dan memperbaikinya, daripada kekurangan dalam alat). Mungkin ada harapan di masa depan tetapi, untuk saat ini, ini adalah masalah yang diketahui dan sebagian besar diabaikan . Anda akan mencatat bahwa
Formatting
tab yang mengacu pada dokumentasi sama sekali tidak ada (meskipun ada untuk XML, di mana kombinasi keyboard berfungsi). Dokumentasi mungkin harus menyatakan:Cara lain untuk mendapatkan ide tentang jenis opsi pemformatan apa yang ditawarkan SSMS secara asli adalah pergi ke
Tools > Customize > Commands > Edit > Add Command... > Format
dan melihat daftar perintah yang mungkin ada. Tidak ada yang menunjukkan ada pengetahuan tentang bahasa yang sebenarnya, sehingga tidak akan tahu di mana harus memasukkan jeda baris atau menambahkan indentasi tambahan atau membantu dengan tanda kurung dll.Jika Anda ingin pemformatan khusus bahasa untuk membuat kode T-SQL yang ada lebih mudah dibaca, Anda tidak akan mendapatkan banyak dari SSMS, dan Anda harus mencari opsi lain.
sumber
Ctrl+K, Ctrl+D
terlebih dahulu menggunakanRemove
tombol, lalu ikuti program empat langkah Aaron untuk mengikat keyboard, seperti yang didefinisikan di atas (Tools > Options > Environment > Keyboard
). Berikut screenshot dariOptions
kotak dialog saya , setelah semuanya diatur: pasteboard.co/GDYkh3h.jpg .Saya tidak percaya ini mungkin di SSMS. Ada item Connect yang dibuka untuk fitur ini.
Apa yang saya pribadi suka gunakan untuk kode SQL yang diformat dengan buruk adalah aplikasi web pada SQL yang Buruk . Itu pekerjaan yang sangat bagus memformat kode SQL dengan spesifikasi Anda. Bahkan menghasilkan HTML jika Anda inginkan. Saya tidak menggunakan plug-in SSMS atau kiriman lain yang mereka iklankan, saya selalu naik ke situs untuk melakukan pemformatan cepat dan kemudian menyalin / menempelkan langsung ke SSMS.
sumber
Instal add-on yang melakukan ini. Saya menggunakan Edisi Gratis SQL Lengkap: http://www.devart.com/dbforge/sql/sqlcomplete/ yang menawarkan beberapa fungsi dasar pemformatan SQL. Terintegrasi dengan SSMS dan menggunakan Ctrl + K, D.
sumber
SqlSmash adalah alat komersial yang memungkinkan Anda memformat SQL Anda (dan banyak lagi) di SSMS 2012 dan 2014. Pintasan keyboard default adalah (Ctrl + K, Ctrl + D).
Penafian: Saya adalah pengembang di belakangnya.
sumber