打开sql文件,自动使用了sql-mode,但是没法格式化代码.
看了一下sql layer文档http://develop.spacemacs.org/layers/+lang/sql/README.html#install, 里面提到format with sqlfmt,后面也提到快捷键 SPC m = c 问题是sqlfmt怎么配置?里面没提到,快捷键也有 SPC m = c设置。。。
打开sql文件,自动使用了sql-mode,但是没法格式化代码.
看了一下sql layer文档http://develop.spacemacs.org/layers/+lang/sql/README.html#install, 里面提到format with sqlfmt,后面也提到快捷键 SPC m = c 问题是sqlfmt怎么配置?里面没提到,快捷键也有 SPC m = c设置。。。
(add-hook 'sql-mode-hook (lambda ()
(sql-highlight-sqlite-keywords)
(format-all-mode)
))
python安装pip install sqlparse 然后有一个sqlformat.exe,看format-all-mode的文档,是保存sql文件时自动格式化代码,不过我不用spacemacs
貌似没有效果:sob:
通常major mode会设置indent-region-function
和indent-line-function
,所以你在任何major mode里使用indent-line
indent-region
或者indent插件如evil-nerd-commentor应该都能正常工作(因为它们会按convention去调前述两个变量的值),除非major mode作者没有设置好。
好像没说清楚,我是melpa安装了format-all这个包 GitHub - lassik/emacs-format-all-the-code: Auto-format source code in many languages with one command 不过好多功能都没用过,只用到格式化json和sql
SQL有太多方言了,暂时还真没找到一个好的(我用Postgres为主)。感觉相对较好的是 sqlformat
,这是我的配置 .emacs.d/zc-sql-funcs.el at master · zhenwenc/.emacs.d · GitHub
找了一圈确实发现还是sqlformat好用,format-all没法针对range进行格式化,所以放弃了。
后来发现原来sqlformat是purcell大神写的,贴一下他的这个配置
嗯,都只是一个简单的wrapper,主要还是选择引用哪个后端。 我也就是偶尔用用,一遇到复杂的query结果就一塌糊涂。