স্বয়ংক্রিয়ভাবে এসকিউএল কোড ফর্ম্যাট করা


15

এসকিউএল -এর জন্য কিছু সাধারণ সুপরিচিত কোডিং মান এবং শৈলী রয়েছে (যেমন সংরক্ষিত শব্দের মূলধন করা, বিভিন্ন মূল লাইনে মূল কীওয়ার্ড স্থাপন ইত্যাদি)।

ইমাকস কি এর জন্য কোনও মোড নিয়ে আসে, বা এসকিউএলকে সাধারণ মান মেনে চলার জন্য বিন্যাস করার জন্য কোনও প্যাকেজ রয়েছে?


উত্তর:


7

ইম্যাক্স স্কেল ইনডেন্টিংয়ের জন্য দরকারী কিছু আসে না।

সেখানকার সর্বোত্তম জিনিসটি হল sql-indent.el

যা কেবল কমান্ড ইনডেন্টেশনে স্বয়ংক্রিয়-ইন্ডেন্টিং করে না।

আমি এটি সময়ে বেশ কার্যকর পেয়েছি


3

যদি আপনি অজগর প্রক্রিয়াটি কল করতে আপত্তি করেন না, তবে এটি কাজ করে ( pip install sqlparse):

(defun sqlparse-region (beg end)
  (interactive "r")
  (shell-command-on-region
   beg end
   "python -c 'import sys, sqlparse; print(sqlparse.format(sys.stdin.read(), reindent=True))'"
   t t))

1

আপনার প্রশ্নের সম্পূর্ণ উত্তর নয়, তবে সংরক্ষিত শব্দকে বড় করে তোলার জন্য আমার কিছু সংক্ষিপ্ত সংজ্ঞা রয়েছে। এখানে কেবলমাত্র আপনাকে দেখানোর জন্য একটি সংক্ষিপ্ত উদাহরণ দেওয়া হয়েছে (সমস্ত সংরক্ষিত এসকিএল শব্দ সহ নয়)

(define-abbrev-table 'sql-mode abbrev-table 
(mapcar #'(lambda (v) (list v (upcase v) nil 1))
'("absolute" "action" "add" "after" "all" "allocate" "alter" "and" "any" "are" "array" "as" "asc" "asensitive" )
))

0

21.4a সংস্করণ থেকে, ইমাসগুলি sql-mode(sql.el) সাথে আসে যা স্বয়ংক্রিয়ভাবে ইনডেন্টেশন এবং ফন্ট লক করে। অন্তর্নির্মিত কোনও আবরণ নেই, তবে এটি আপনাকে অনুকূলিতকরণযোগ্য ভেরিয়েবল sql-linter-program( M-x customize-group SQL) সহ একটি বাহ্যিক রেখার সংজ্ঞা দিতে দেয়

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.