$shibayu36->blog;

株式会社はてなでエンジニアをしています。プログラミングや読書のことなどについて書いています。

Emacsで開いているファイルの現在行をIntelliJで開く

http://www.shigemk2.com/entry/from_emacs_to_inteliJ を参考に、EmacsからIntelliJへ、IntelliJからEmacsへのジャンプが出来るようにしたのだが、EmacsからIntelliJに飛ぶ時に現在の行位置に飛んでくれなかったので改良した。

以下のようなコマンドをelispで定義しておくことで、行位置を保存したままIntelliJに飛べる

;;; 現在のファイルをIntelliJで開く
(defun open-by-intellij ()
  (interactive)
  (shell-command
   (format "/Applications/IntelliJ\\ IDEA\\ CE.app/Contents/MacOS/idea --line %d %s >/dev/null 2>&1"
           (line-number-at-pos)
           (buffer-file-name)))
  (shell-command "open -a /Applications/IntelliJ\\ IDEA\\ CE.app"))

;;; キーバインドは適当に
(define-key scala-mode-map (kbd "C-x C-j") 'open-by-intellij)


実現方法としては


この設定によって

という挙動が実現できたので、状況に応じてそれぞれ使い分けていきたい。