通常,在 emacs 上编辑 JavaScript 时,我使用 flycheck 和 jshint 来检查语法错误。所以我在全局安装了 jshint,并在.emacs
文件中使用以下命令在 js-mode 中使用 flycheck:
(require 'flycheck)
(add-hook 'js-mode-hook
(lambda () (flycheck-mode t)))
但我也参与了一个项目,他们使用 eslint 来定义语法规则。我.dir-locals.el
在那个项目文件夹中有一个文件,目前只定义了所需的表格:
((nil . ((tab-width . 4)
(js-indent-level . 4)))
(js-mode . ((tab-width . 4)
(js-indent-level . 4)))
(html-mode . ((tab-width . 4)
(sgml-basic-offset . 4))))
是否有可能,也许在.dir-locals.el
文件的帮助下,告诉 emacs 在这个特定的项目文件夹中使用 flycheck 和 eslint,同时在其余项目中继续使用 flycheck 和 jshint?我听说以下几行应该可以解决从 jshint 切换到 eslint 的技巧,但我不完全确定在哪里添加它们:
(setq flycheck-disabled-checkers '(javascript-jshint))
(setq flycheck-checkers '(javascript-eslint))
(你可以猜到,我不擅长设置 emacs,所以我将非常感谢具体的指导。)