根据eslint设置格式化代码


#1

hi,各位emacs道友大家好。最近在做 eslint规范,在做的时间想有没有什么库可以根据 .eslintrc.js 自动格式化代码呢?于是从网上找了好一会儿无果,所以想问问大家,有没有好的库或者包用呢?


#2
(defconst czqhurricane-programming-packages
  '(
    (eslintfmt :location (recipe :fetcher github :repo "czqhurricnae/eslintfmt.el"))
))

(defun czqhurricane-programming/init-eslintfmt ()
  (use-package eslintfmt
    :config
    (setq eslintfmt-command-args (list "--config" eslintfmt-configuration-file))
    (add-hook 'js-mode-hook #'eslintfmt-mode)
    (add-hook 'js2-mode-hook #'eslintfmt-mode)))
(defvar eslintfmt-configuration-file ""
  "Eslintfmt global configuration.")
(setq-default
 eslintfmt-configuration-file "~/.spacemacs.d/.eslintrc.js"
)

这个有个弊端就是无法根据每个工程的.eslintrc.js对代码进行格式化,只能使用全局定义的一个,看代码配置就明白了。


#3

可以试试editorconfig,对应的有个package

在项目里面设置下挺好的,而且.editorconfig这个配置文件很多编辑器都可以起作用的

vscodevimsublimeatom等主流编辑器都支持.editorconfig配置的


#4

如果是引用其它的插件,或者extends其它包,你的这个支持吗?


#5

我用的是emacs,editorconfig会在项目中生成,不过对emacs支持不太友好。


#6

要安装editorconfig这个package,而且这个包还不能lazy-load

我这用着还没发现啥问题


#7

其实我这个包是模仿

(standardfmt :location (recipe :fetcher github :repo "jimeh/standardfmt.el"))

这个包写的,自己可以看看源码,修改一下,很简单的。