एसएसएमएस 2012 में टी-एसक्यूएल प्रारूपण


39

इस Microsoft दस्तावेज़ के अनुसार:

http://msdn.microsoft.com/en-us/library/ms174205.aspx

मैं SQL सर्वर प्रबंधन स्टूडियो 2012 में अपने एसक्यूएल दस्तावेजों को प्रारूपित करने के लिए ctrl + K का उपयोग करने में सक्षम होने वाला हूं, लेकिन जब मैं उस कॉम्बो का उपयोग करता हूं तो मुझे त्रुटि मिलती है:

कुंजी संयोजन (Ctrl + K, Ctrl + D) कमांड (प्रारूप दस्तावेज़) के लिए बाध्य है जो वर्तमान में उपलब्ध नहीं है।

मैं एक मौजूदा एसक्यूएल दस्तावेज़ में संशोधन करने की कोशिश कर रहा हूं, जिसमें इसका कोई प्रारूपण नहीं है, जिसे पढ़ना बेहद मुश्किल है। क्या किसी को पता है कि प्रारूप दस्तावेज़ कमांड को कैसे उपलब्ध कराया जाए ताकि मेरे पास इस कोड के लिए SQL प्रारूप हो सके?


मुझे लगता है कि यह कथन Available only in the text editorटेक राइटर का तरीका है "न कि क्वेरी एडिटर" को स्पष्ट रूप से नकारात्मक
कहे

1
@billinkc मुझे नहीं लगता कि यह काफी सही है। टेक्स्ट एडिटर "क्वेरी एडिटर" है, जिसका उपयोग Transact-SQL और XML दोनों के लिए किया जाता है , यह XML से निपटने के दौरान सिर्फ एक क्वेरी एडिटर नहीं है। मुझे लगता है कि प्रलेखन थोड़ा अधिक होनहार है, और मैंने कनेक्ट आइटम पर इस तरह की टिप्पणी की
हारून बर्ट्रेंड

जवाबों:


42

आपके ( Ctrl+ K, Ctrl+ D) के बाद का कीबोर्ड संयोजन "फ़ॉर्मेटिंग" के लिए है - लेकिन उस सीमा तक नहीं, जिसकी आप अपेक्षा करते हैं। यह एक प्रेटिफ़ायर नहीं है, इसका उपयोग केवल सही रिक्ति और टैब को सम्मिलित करने के लिए किया जाता है Tools > Options > Text Editor > Transact-SQL > General/Tabs- जैसे कि यदि आप टेक्स्ट के एक हिस्से को हाइलाइट करते हैं और कीबोर्ड संयोजन को हिट करते हैं, तो टैब को 4 स्थानों में परिवर्तित करना माना जाता है (यदि आपने सम्मिलित चयन किया है रिक्त स्थान), आपके द्वारा निर्दिष्ट इंडेंटिंग के प्रकार को लागू करें, आदि।

यह विकल्प कोड को अधिक पठनीय बनाने का इरादा नहीं है - यह कार्यक्षमता नहीं है जो प्रबंधन स्टूडियो वर्तमान में मूल रूप से प्रदान करता है। हालांकि कई तीसरे पक्ष के विकल्प हैं - कुछ प्रबंधन स्टूडियो के लिए बाहरी हैं, जैसे:

और एड-इन के साथ-साथ एडिटर के भीतर फ़ॉर्मेटिंग सहायता के विभिन्न स्तरों के लिए भी हैं:

अब, कारण आपको संदेश मिल रहा है ...

कुंजी संयोजन (Ctrl + K, Ctrl + D) कमांड (प्रारूप दस्तावेज़) के लिए बाध्य है जो वर्तमान में उपलब्ध नहीं है।

... क्योंकि SSMS ने उस कुंजी संयोजन को एक अलग संदर्भ में मैप किया है। जिस तरह से आपको इसे "ठीक" करने में सक्षम होना चाहिए - फिर भी, यह अभी भी वह नहीं करेगा जो आप इसे करना चाहते हैं, भले ही "फिक्स" ने काम किया हो - निम्न कार्य करके है:

  1. के लिए जाओ Tools > Options > Environment > Keyboard
  2. अपने कर्सर को Press shortcut keys:बॉक्स में रखें
  3. मारो Ctrl+ K, Ctrl+D
  4. बदले Shortcut currently used by:से ड्रॉप-डाउन DataWarehouse Designerकरने के लिएText Editor

    यहाँ छवि विवरण दर्ज करें

  5. ओके दबाओ

अब, यह टेक्स्ट एडिटर के लिए कीबोर्ड संयोजन को मैप करने वाला है, लेकिन प्रबंधन स्टूडियो ओके मारने के बाद इसे बदल देता है (आपको त्रुटि संदेश प्राप्त होता रहेगा। इसलिए, मुझे लगता है कि समस्या यह है कि प्रलेखन का मानना ​​है कि यह कार्यक्षमता मौजूद है, लेकिन प्रबंधन स्टूडियो बेहतर जानता है और बस इसे पेश नहीं करता है (और Microsoft संभवतः इसे दस्तावेज़ में बग के रूप में लिख देगा, और इसे सही कर देगा, उपकरण में कमी के बजाय)। भविष्य में उम्मीद हो सकती है लेकिन, अभी के लिए। यह एक ज्ञात और काफी हद तक नजरअंदाज किया गया मुद्दा है । आप ध्यान देंगे कि दस्तावेज़ को संदर्भित करने वालाFormatting टैब बस मौजूद नहीं है (हालांकि यह XML के लिए है, जहां कीबोर्ड संयोजन काम करता है)। प्रलेखन शायद राज्य होना चाहिए:

विकल्प संवाद के पाठ संपादक अनुभाग में भाषा के स्वरूपण फलक पर निर्दिष्ट भाषा के लिए इंडेंटिंग और स्पेस फॉर्मेटिंग को लागू करता है । केवल पाठ संपादक में और कुछ भाषाओं के लिए ही उपलब्ध है ।

एसएसएमएस मूल रूप से किस प्रकार के स्वरूपण विकल्प प्रदान करता है, इसका अंदाजा लगाने का एक और तरीका है कि आप वहां जाकर Tools > Customize > Commands > Edit > Add Command... > Formatसंभावित कमांड्स की सूची देखें। कुछ भी नहीं जो इंगित करता है कि वास्तविक भाषा का कोई भी ज्ञान है, इसलिए यह नहीं पता होगा कि लाइन ब्रेक कहाँ डालें या अतिरिक्त इंडेंट जोड़ें या कृत्रिम अंग आदि के साथ सहायता करें।

यहाँ छवि विवरण दर्ज करें

यदि आप मौजूदा T-SQL कोड को अधिक पठनीय बनाने के लिए भाषा-विशिष्ट स्वरूपण चाहते हैं, तो आपको SSMS से बहुत कुछ नहीं मिलेगा, और आपको अन्य विकल्पों की तलाश करने की आवश्यकता होगी।


1
मैंने उन्हीं लक्षणों और व्यवहार का अनुभव किया, जो ओपी के साथ-साथ एसएसएमएस 2016 में आरोन द्वारा वर्णित किए गए थे; हालाँकि, मैं इसे ठीक से काम करने में सक्षम था। कुंजी Ctrl+K, Ctrl+Dपहले Removeबटन का उपयोग करने के लिए बाध्य सभी आदेशों को हटा रही थी , फिर कीबोर्ड को बांधने के लिए आरोन के चार-चरण कार्यक्रम का पालन करें, जैसा कि ऊपर परिभाषित किया गया है ( Tools > Options > Environment > Keyboard)। यहां एक स्क्रीनशॉट है जो मेरा Optionsसंवाद बॉक्स जैसा दिखता है, एक बार सब कुछ सेटअप होने पर: pasteboard.co/GDYkh3h.jpg
मास डॉट नेट

मैं बिल्कुल भी निश्चित नहीं हूं कि इस टिप्पणी को एक उत्तर के रूप में सूचीबद्ध नहीं किया गया है क्योंकि यह मेरे लिए काम करता है जो आपने कहा था।
क्रिस्टोफर

12

मेरा मानना ​​है कि यह SSMS में संभव नहीं है। इस सुविधा के लिए एक कनेक्ट आइटम खोला गया था ।

मैं व्यक्तिगत रूप से खराब स्वरूपित SQL कोड के लिए उपयोग करना पसंद करता हूं, गरीब SQL पर वेब अनुप्रयोग है । यह आपके विनिर्देशों के लिए SQL कोड को स्वरूपित करने का एक बहुत अच्छा काम करता है। यहां तक ​​कि अगर आप चाहें तो HTML भी उत्पन्न करते हैं। मैं SSMS प्लग-इन या उनके द्वारा विज्ञापित किसी अन्य डिलिवरेबल्स का उपयोग नहीं करता, मैं हमेशा साइट पर केवल त्वरित स्वरूपण करने के लिए आशा करता हूं और फिर SSMS में सही कॉपी / पेस्ट करता हूं।


गरीब SQL पर टिप के लिए धन्यवाद। यह सुनिश्चित करने के लिए कि मेरी पिछली जेब में एक टक रखा है!
क्रिश ग्रुटेमेयर

3
एक और अच्छा एक (ब्लॉग के लिए कोडिंग फॉर्मेट के लिए भी उपयोगी है) सिंपल-टॉक का एसक्यूएल प्रेटिफायर है
हारून बर्ट्रेंड

भले ही Microsoft का दस्तावेज़ कहता है कि यह प्रारूपित हो सकता है, SSMS नहीं कर सकता है?

खराब SQL में Notepad ++ के लिए प्लग भी है। यकीन नहीं है कि आप SSMS प्लग-इन का उपयोग क्यों नहीं करेंगे। यह अब बहुत अच्छा काम करता है कि उन्होंने अंततः SSMS 2012+ के साथ काम किया।
जोनाथन फाइट

6

एक ऐड-ऑन स्थापित करें जो ऐसा करता है। मैं एसक्यूएल कम्पलीट के मुफ्त संस्करण का उपयोग करता हूं: http://www.devart.com/dbforge/sql/sqlcomplete/ जो कुछ मूल एसक्यूएल प्रारूपण कार्यक्षमता प्रदान करता है। यह SSMS के साथ एकीकृत होता है और Ctrl + K, D का उपयोग करता है।


मुफ्त ऑनलाइन संस्करण sql-format.com
इमान

2

SqlSmash एक व्यावसायिक उपकरण है जो आपको SSMS 2012 और 2014 में अपने SQL (और भी बहुत कुछ) को प्रारूपित करने देता है। डिफ़ॉल्ट कीबोर्ड शॉर्टकट (Ctrl + K, Ctrl + D) है।
अस्वीकरण: मैं इसके पीछे डेवलपर हूं।


कृपया यह जोड़ें कि उपकरण मुफ़्त नहीं है।
ypercube y

एक स्वतंत्र समुदाय संस्करण है।
जेसन गीगर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.