Emacsでプロジェクト管理 eprojectを試してみた

emacsでプロジェクトの管理をするeprojectというのがあると知ったので試して見ました。
http://www.emacswiki.org/emacs/eproject

同名のプロジェクトがgithubにありますが、関係はないようです
http://wiki.github.com/jrockway/eproject/

インストール

elpaからインストール
marmaladeだけでは見つからなかったので設定を追加しました。

(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))
(add-to-list 'package-archives '("ELPA" . "http://tromey.com/elpa/"))
M-x list-packages

eprojectを選んでi -> xでインストール

設定

(load-file "~/.emacs.d/vendor/elpa/eproject-0.4/eproject.el")

使い方

まずプロジェクトの設定をします。M-x eproject-setup もしくは F5でプロジェクトの設定画面が開きます

ちょっと変わったインターフェースですが、ここでプロジェクトの設定を行います。
デフォルトでeprojectのディレクトリ自体がプロジェクトとして登録されています。

各メニューは頭文字とMetaキーで選択できます。マウスクリックでも選択できます
M-aで「Add」を選択し、ミニバッファでプロジェクトのパスを入力します。

続いてプロジェクト名を入力します。

プロジェクトの設定ファイル名を入力します。

これでプロジェクトが追加されました。

とりあえずToolsからテストやアプリの起動などができるようにしてみたいと思います。
設定ファイルを直接編集するのではなく、プロジェクトの設定画面から編集します。


プロジェクトの設定画面を開いて、M-tで「Tools」を選び、M-eで「Edit」を選択します。
バッファが編集可能になるので、編集して例えば以下のような状態にします。
rails開発だったら rspecとか rails server とか設定することになるでしょう。

M-sで「Save」し、M-qで「Quit」編集を抜けます。

これでプロジェクトを開いている間はf8でテストが走り、f6でアプリが起動するようになりました。


この時点でのプロジェクト設定ファイルのprj-toolsは以下のようになってます。

;; -*- mode: Lisp; -*-

(setq prj-version "0.4")

(setq prj-config
      '(("project-name" . "gae-sample")))

(setq prj-tools
      '(("Run Test" "python unittests.py" "f8")
	("Run" "dev_appserver.py ." "f6")))

(setq prj-files nil)

(setq prj-curfile nil)

(setq prj-functions nil)

感想

Toolsの設定が簡単で、しかも柔軟に設定できるので、プロジェクト内のgrepとか、バージョン管理のコマンドとか、設定すれば結構便利に使えそうです。
他にもいろいろできそうですが、とりあえずここまで。