読者です 読者をやめる 読者になる 読者になる

雑念日記

主に技術的なことをつらとらと(書ければいいな)。

Processing を Emacs で書いて Emacs から実行する

前回の記事にも書いたように、外部エディタとコマンドライン用ツール(processing-java) を使うことで PDE 無しにスケッチを走らせることができるようになりました。

とはいえ、エディタでコードを書いて、ターミナルでコマンド入力して、というのをいちいちやるのは面倒です。PDE を使った場合のように、コードを書いたそのままの流れですぐにショートカットキーを押下してスケッチを実行、みたいなことをやりたいわけです。

コマンド実行がサポートされたので、これもできそうな気がします。
というわけで、スケッチを Emacs で書いて Emacs から実行する方法を調査しました。

processing2-emacs

processing2-emacs というものがあったので、これを使ってみます。

README にはコマンド一発の簡単インストール方法とマニュアルインストール方法が記載されています。今回はマニュアルでインストールしてみます。

ソースの取得

まずは git でソースを取得。

$ git clone https://github.com/ptrv/processing2-emacs

設定

Emacs の設定ファイル(.emacs など)に以下を記述します。
/path/to/ の箇所は上記で git clone を実行したパスにする必要があります。

(add-to-list 'load-path "/path/to/processing2-emacs/")
(autoload 'processing-mode "processing-mode" "Processing mode" t)
(add-to-list 'auto-mode-alist '("\\.pde$" . processing-mode))

また、環境設定として以下を同じく Emacs の設定ファイルに記述します。

(setq processing-location "/path/to/processing-2.0.1/processing-java")
(setq processing-application-dir "/path/to/processing-2.0.1")
(setq processing-sketch-dir "/path/to/sketchbook")

3行目の /path/to/ の箇所はスケッチを格納する場所のパス(PDE の File -> Preferences の「Sketchbook location」に設定してあるパスに相当)にする必要があります。

1,2行目の /path/to/ は環境によって値が変わってくると思うので、注意して下さい。
僕(Linux)の場合、Processing.org からダウンロードした Processing のソースを展開した場所のパスになりました。展開したファイルを移動したりしているとまた変わってくると思います。

余談ですが processing-application-dir の箇所について、"~/" から始まるパスを設定したら一部うまく動作しない現象がみられました。

README には Mac の場合の例として以下が記載されています。

(setq processing-location "/usr/bin/processing-java")
(setq processing-application-dir "/Applications/Processing.app")
(setq processing-sketch-dir "~/Documents/Processing")

これで最低限の設定は完了です。
yasnippet や auto-complete に関する設定も ptrv/processing2-emacs · GitHub に記載されているので、是非参照してみて下さい。

使ってみる

上記の設定によって *.pde ファイルを開くと自動的に processing-mode が選択されるようになります。シンタックスハイライトもいい感じ。

f:id:hoshi_sano:20130803083814p:plain

また以下のキーバインドが使えるようになります。

キーバインド 説明
C-c C-p r スケッチを実行する
C-c C-p b スケッチを .class ファイルにコンパイルする
C-c C-p p スケッチをフルスクリーンで実行する
C-c C-p e スケッチをエクスポートする
C-c C-p d カーソル位置にあるキーワードをローカルのリファレンスから探す
C-c C-p f スケッチを開く/新規作成する
C-c C-p s カーソル位置にあるキーワードを Processing フォーラムで検索する

これで、前回の記事でコマンド叩いて実現していたスケッチの実行やエクスポートが、Emacs からキーを叩くだけでできてしまうのです!
加えてリファレンスやフォーラムの参照など、かなり PDE に近いことが可能になります。
これで多くの Emacs ユーザーが素敵な Processing ライフを送ることができそうです。

f:id:hoshi_sano:20130803083832p:plain