2009年12月19日土曜日

scala用Yasnippet

scalaを何となく眺めている最中ですが、scala本家にemacsのyasnippetがUpされていて、ちょっと便利そうなのでubuntuに入れてみました。

Scala, Emacs and Yasnippet

基本は上記URLと、SVNから落としたREADMEに書いてある通りですが、ubuntu9.04にemacsが入っていなかったのでそこからスタート。

●ubuntuのSynapticパッケージマネージャで「emacs23」をインストール。
●ubuntuのSynapticパッケージマネージャで「yasnippet」をインストール。
●~/.emacs.d に snippetsディレクトリ作成。
●~/.emacs.d/snippets に scala-mode ディレクトリ作成。
●上記URLに書いてある通り、以下のコマンドでscala用snippetをダウンロード。
  $ svn co http://lampsvn.epfl.ch/svn-repos/scala/scala-tool-support/trunk/src/emacs/
●ダウンロードすると「emacs」というディレクトリが作成されている。面倒くさいので、そのディレクトリの中身を全て、さっき作った「~/.emacs.d/snippets/scala-mode」に放り込む。
●放り込んだら、「~/.emacs.d/snippets/scala-mode」で「make」を実行。
  $cd ~/.emacs.d/snippets/scala-mode

  $make
  (makeは必須ではないですが、makeしとくと読み込みが高速になります。) 


●こんな感じになっていると思います。



●ホームディレクトリに.emacsファイルが無ければ作成し、以下を記述。
;;scala snippet
(add-to-list 'load-path "~/.emacs.d/snippets/scala-mode")
(require 'scala-mode-auto)

(setq yas/my-directory "~/.emacs.d/snippets/scala-mode/contrib/yasnippet/snippets")
(yas/load-directory yas/my-directory)
(add-hook 'scala-mode-hook
        '(lambda ()
                (yas/minor-mode-on)
        ))

●保存してemacs を起動するとsnippetが使えるようになりました。

  doc と入力してTABを押すと、ドロップダウンリストが出てきて・・・


「3」キーを押すと、ファイルのヘッダを書き込んでくれます。


 ●他にも、「main」と入力してTABを押すと、
  def main(args: Array[String]) = {
                                                                   
  }
を作成してくれます。
本家サイトの
http://www.scala-lang.org/node/354
にどんな感じで使えるのか、ビデオがあるので参考になります。

0 件のコメント:

コメントを投稿