Автоматичне форматування коду SQL


15

Існують деякі загальновідомі стандарти кодування та стилі для SQL (наприклад, використання великих літер, розміщення основних слів, розміщення основних ключових слів у різних рядках тощо).

Чи є в Emacs якісь режими для цього, чи є пакети для форматування SQL, щоб він відповідав загальним стандартам?


Відповіді:



3

Якщо ви не проти зателефонувати на процес python, це працює ( 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

Я не є повною відповіддю на ваш запит, але для написання великих літер у мене є деякі скорочення. Ось короткий приклад, щоб просто показати вам (не включаючи всі зарезервовані слова sql)

(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, Emacs оснащений sql-mode(sql.el), який робить автоматичне відступ та блокування шрифту. Немає вбудованої обшивки, але вона дозволяє визначити зовнішній вкладиш за допомогою настроюваної змінної sql-linter-program( M-x customize-group SQL)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.