首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Emacs -无法让Flymake与JSHint一起工作

Emacs -无法让Flymake与JSHint一起工作
EN

Stack Overflow用户
提问于 2011-10-12 03:39:51
回答 2查看 1.9K关注 0票数 0

我在试着让JSHint和Flymake合作。

/opt/bin中确实安装了jshint,并且可以正常工作。/opt/bin在Emacs的exec-path中。

我关注了the directions on the EmacsWiki,并在我的init.el中保存了这个

代码语言:javascript
运行
复制
(defun flymake-jshint-init ()
  (let* ((temp-file (flymake-init-create-temp-buffer-copy
                     'flymake-create-temp-inplace))
         (local-file (file-relative-name
                      temp-file
                      (file-name-directory buffer-file-name))))
    (list "jshint" (list local-file))))

(setq flymake-err-line-patterns
      (cons '("^  [[:digit:]]+ \\([[:digit:]]+\\),\\([[:digit:]]+\\): \\(.+\\)$"
              nil 1 2 3)
            flymake-err-line-patterns))

(add-to-list 'flymake-allowed-file-name-masks
             '("\\.js\\'" flymake-jshint-init))

当我打开JavaScript文件时,我的模型线显示为:

代码语言:javascript
运行
复制
[(Javascript Flymake* AC)]

这很奇怪,因为当我在C++或Python中使用Flymake时,*通常不会出现。根据Flymake文档,Flymake*的意思是"Flymake当前正在运行“。然而,Flymake没有显示任何错误。

我检查了*Messages*缓冲区,但它只列出了几行Fontifying foo.js... (regexps...................)。没有错误。

还有其他建议吗?

EN

回答 2

Stack Overflow用户

发布于 2011-10-12 17:42:37

尝试使用M-:执行(setq flymake-log-level 3),这将导致flymake将调试信息打印到*Messages*中。

Here's how I use flymake with jslint,它对我来说工作得很好--这些代码可能会给您一个线索,告诉您哪里出了问题。

您还可以考虑js2-mode,它提供了一些语言感知的类似于lint的警告,而无需运行外部进程。

票数 1
EN

Stack Overflow用户

发布于 2013-03-19 15:52:46

jshint-mode对我不起作用(我使用的是Linux Mint14 'Nadia') --当运行curl与运行jshint脚本的Node.js实例对话时,"flymake's configuration“出现错误。这很令人费解,而且我不熟悉ELisp来处理.el文件。

我通过直接转到github上的Emacs解决了这个问题,它现在支持flymake project内置(它需要作为npm -g install jshint安装,这反过来需要你安装npm和node.js,如果你还没有安装的话)。这就让事情变得正常了。

还有一个警告:在我的Linux机器上,node是一个已经存在于/usr/sbin中的可执行文件,我必须在/usr/local/bin中创建一个名为node的符号链接来覆盖前者。这是必要的,因为Linux Mint的Node.js二进制文件(可能是Ubuntu,我还没有检查过)被命名为nodejs,这将导致许多使用二进制名node编写的脚本失败。您可以通过输入node来测试:如果它是预先存在的二进制文件,它通常会默默返回到提示符,但如果它是Node.js,它会提示您输入一个> (您可以按Ctrl-D退出)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7731559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档