2013年3月25日月曜日

【emacs】eclipseみたいにJavaの構文エラーがあった場合にコンパイルする前に表示する方法(flymake)

flymakeはemacsの22以降だとデフォルトでパッケージに入ってるらしいのですが
それ以前ではないようなので自分でインストールする必要があります
以下はすでにflymakeがインストールしてある状態で.emacsに記述する内容です

(require 'flymake)
(setq char_set "SHIFT_JIS")
(setq classpath
; (getenv "CLASS_PATH"))
nil)
(defun flymake-java-init ()
(flymake-simple-make-init-impl
  'flymake-create-temp-with-folder-structure nil nil
  buffer-file-name
  'flymake-get-java-cmdline))
(defun flymake-get-java-cmdline
(source base-dir)
(list "javac"
  (if classpath
   (list "-classpath" classpath (concat "-J-Dfile.encoding=" char_set) "-encoding" char_set source)
   (list (concat "-J-Dfile.encoding=" char_set) "-encoding" char_set source))))
(push '("\\.java$" flymake-java-init) flymake-allowed-file-name-masks)
(add-hook 'java-mode-hook '(lambda ()
                            (flymake-mode t)))

これでJavaファイルを開いたときにエラーがあった箇所をハイライトしてくれます
$CLASS_PATHの部分をコメントアウトして設定すると外部のライブラリも構文チェックしてくれるようになります

参考サイト
http://www.info.kochi-tech.ac.jp/y-takata/index.php?%A5%E1%A5%F3%A5%D0%A1%BC%2Fy-takata%2FFlymake

0 件のコメント:

コメントを投稿