emacs插件flymake快速检查语法错误(C/C++,python,java,perl等语言)

先看段我演示:

emacs插件flymake快速检查语法错误(C/C++,python,java,perl等语言)


怎么样? 是不是有IDE的感觉? 进入配置过程.其实配置不复杂.

首先需要Makefile的支持(这里只拿C/C++作例子).

在Makefile中添加下面两行:


check-syntax:
	gcc -o nul -S ${CHK_SOURCES} 


gcc可以相应改成g++
然后 进入要编写的代码启用flymake-mode即可

flymake目前支持一下语言:

Language Compiler OS
C/C++ Microsoft Visual C++ 6.0 Windows 2000
C/C++ gcc 2.9 Windows 2000/XP/Linux
MS IDL midl 5.01 Windows 2000
Java IBM Jikes 1.17 Windows 2000
Latex MikTeX 2.2 Windows 2000
HTML HTML Tidy Windows 2000/XP
XML XMLStarlet Command Line XML Toolkit 0.7.0 Windows 2000/XP
Perl Perl 5.8 Windows 2000/XP

当然这里有一些有用的函数(ahei编写),可以把错误显示在minibuffer上:

;Code by ahei
(defun flymake-display-current-error ()
  "Display errors/warnings under cursor."
  (interactive)
  (let ((ovs (overlays-in (point) (1+ (point)))))
    (catch 'found
      (dolist (ov ovs)
        (when (flymake-overlay-p ov)
          (message (overlay-get ov 'help-echo))
          (throw 'found t))))))
(defun flymake-goto-next-error-disp ()
  "Go to next error in err ring, then display error/warning."
  (interactive)
  (flymake-goto-next-error)
  (flymake-display-current-error))
(defun flymake-goto-prev-error-disp ()
  "Go to previous error in err ring, then display error/warning."
  (interactive)
  (flymake-goto-prev-error)
  (flymake-display-current-error))

flymake-display-current-error是显示当前的光标所在错误!

flymake-goto-next-error-disp显示下一个错误!

flymake-goto-prev-error-disp显示上一个错误!


是不是很给力?

当然这里有个性能问题,因为flymake是调用gcc的 大工程的话 会相对比较慢. 看你选择了!



原文链接: http://blog.csdn.net/crazyjixiang/article/details/6674103

你可能感兴趣的:(emacs插件flymake快速检查语法错误(C/C++,python,java,perl等语言))