SQL kodunu otomatik olarak biçimlendirme


15

SQL için bazı genel iyi bilinen kodlama standartları ve stilleri vardır (örneğin, ayrılmış kelimeleri büyük harflerle yazmak, ana anahtar kelimeleri farklı satırlara yerleştirmek, vb.).

Emacs bunun için herhangi bir modla geliyor mu veya SQL'i ortak standartlara uyması için biçimlendirmek için herhangi bir paket var mı?


Yanıtlar:



3

Bir python işlemini çağırmak sakıncası yoksa, bu işe yarar ( 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

Sorgunuza tam bir cevap değil, ancak ayrılmış kelimeleri büyük harfle yazmak için bazı kısaltma tanımlarım var. İşte size göstermek için kısa bir örnek (tüm ayrılmış sql kelimeleri dahil değil)

(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

Sürüm 21.4a'dan Emacs , otomatik girintileme ve yazı tipi kilidi yapan sql-mode(sql.el) ile birlikte gelir . Yerleşik astar yok, ancak özelleştirilebilir değişkenle sql-linter-program( M-x customize-group SQL) harici bir linter tanımlamanıza izin veriyor

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.