• Showing Page History #27119

Show page source of FrontPage #28033

= !SourceForge.jp monkey.el Wiki =
エディターemacsに、「プログラムをプロジェクト単位で管理する機能」を追加する。[[BR]]
プロジェクトを表示するファイラー、関数一覧、関数定義へのジャンプ等の機能をlispで実装します。対応するプログラム言語は、Emacs-Lisp、C言語、C++、Perl、Java、PHP、Ruby、Visual Basicを予定します。
[[BR]]
[[BR]]

[[ReleaseList]]

==== なにができるのか ====
 * プロジェクトごとにルートディレクトリをブックマークしておけます
 * プロジェクト内のファイルを閲覧するファイラーになります
    * ファイラーで閲覧中のファイルに飛べます
 * ファイル内の関数の一覧が見れます
 * 関数一覧から、各関数へ飛べます
 * 関数の内容を確かめたいときに、関数が定義された箇所へ飛べます

==== なにが問題なのか ====
 * 関数一覧
    * Meadowではspeedbarがとても便利ですが、php5に対応していなかったので、自分で作りました。
 * 関数ジャンプ
    * linuxの場合emacsを導入すると関数ジャンプの為にetagsが使えますが、エディターの機能だけで実現したいと思いました。
 * 普段使うものをひとつにまとめてみました

==== インストール方法 ==== 

http://sourceforge.jp/projects/monkey/releases/ から最新のmonkeyをダウンロードして、解凍して得たフォルダごとロードパスの通ったところへ置きます. 

==== 設定方法 ==== 

monkey/monkey-config.elの以下を自分の環境に合わせて編集します
{{{ code elisp
;; Meadowの場合の例
(defvar emacs-bin-file-path "c:/meadow/bin/Meadow.exe"  ; emacs | Meadow のバイナリのパス
  "emacs binary path on your environment.")
(defvar monkey-installed-path "c:/meadow/site-lisp/monkey/" ; ←は解凍して得たmonkeyフォルダを置いた場所
  "installed path for monkey package.")
}}}
{{{ code elisp
;; linuxの場合の例
(defvar emacs-bin-file-path "/usr/bin/emacs"  ; emacs | Meadow のバイナリのパス
  "emacs binary path on your environment.")
(defvar monkey-installed-path "/usr/share/emacs/site-lisp/monkey/" ; ←は解凍して得たmonkeyフォルダを置いた場所
  "installed path for monkey package.")
}}}
以下を .emacsに追加します
{{{ code elisp
;; And add to your .emacs file
(require 'monkey)
;; Recomend to define global-map as below
(define-key global-map "\C-cp" 'monkey-project) ; call each programing project 
(define-key global-map "\C-cj" 'monkey-jumper)  ; jump to function definition
(define-key global-map "\C-cb" 'monkey-jumper-jump-to-back) ; back to privious point
(define-key global-map "\C-cf" 'monkey-describe-one-file) ; describe one file as list of class , functions
}}}

==== 詳しい使い方 ==== 

 1. C-cp でミニバッファにプロジェクト名の入力プロンプトが出ます。 
    * 任意のプロジェクト名を入力してエンターキーを押すと別ウィンドウにプロジェクトルートのツリーが表示されます
 2. ツリー内にいるときは以下の操作ができます 
    * RET      `monkey-describe-my-project-read' move to directory or open file
    * space    `monkey-describe-my-project-read' move to directory or open file or show function list
    * "n"        `next-line'                       move to next line
    * "p"        `previous-line'                   move to previous line
    * "q"        `monkey-frame-quit'               quit monkey-project-mode
    * "b"        `monkey-builder'                  update MTAG (function lists file)
    * "\C-d\C-f" `monkey-make-directory'           make new directory
    * "\C-d\C-d" `monkey-delete-directory'         delete directory
    * "\C-x\C-f" `monkey-find-file'                make new file
    * "\C-x\C-c" `monkey-copy-file'                duplicate file to another
    * "\C-x\C-r" `monkey-rename-file'              rename file name to another
    * "\C-x\C-d" `monkey-delete-file'              delete file
 3. 編集中のファイルでカーソルが関数名の上にあるときC-cjで関数定義に飛びます
    * 関数定義に飛んだ後で、C-cbで元の場所に戻ります
 4. C-cfで、編集中のファイル内の関数一覧が表示されます

==== サンプル画像 ====
[[Thumb(プロジェクト内のあるファイルの関数一覧を見たところ.png, size=240x240, caption=あるファイルの関数一覧を見たところ, float=left)]]
[[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]]

==== コメント ====

[[LineComment(rows=2)]]
  * リリース 0.1.6.4 バグ修正[[BR]]-- [id:talltale talltale] (2008-10-12 23:58:26 JST)
  * リリース 0.1.6.3 バグ修正[[BR]]-- [id:talltale talltale] (2008-09-29 05:07:07 JST)
  * リリース 0.1.6.2 マイナーチェンジ[[BR]]-- [id:talltale talltale] (2008-09-20 15:02:29 JST)
  * リリース 0.1.6.1 マイナーチェンジ[[BR]]-- [id:talltale talltale] (2008-09-20 14:44:52 JST)
  * リリース 0.1.6 新規プロジェクト作成機能の修正[[BR]]プロジェクトルートに存在しないディレクトリを指定した場合は、ディレクトリを再帰的に作るようにしました。[[BR]]-- [id:talltale talltale] (2008-09-14 09:43 JST)
  * リリース 0.1.5.1 バグ修正[[BR]]-- [id:talltale talltale] (2008-09-14 07:20 JST)
  * リリース 0.1.5 関数一覧を単独で呼び出す機能の追加[[BR]]今開いているファイルの関数一覧を見たいんだよ。プロジェクトなんか関係ないんだよ。という気持ちにある程度こたえられるようにしました。[[BR]]-- [id:talltale talltale] (2008-09-14 07:15 JST)
  * リリース 0.1.4 タグファイルの作成を別プロセスで行う実装の追加[[BR]]タグファイルMTAGの作成中も編集作業等を平行して行えるようになりました[[BR]]-- [id:talltale talltale] (2008-08-11 07:53 JST)
  * リリース 0.1.3 ファイル内関数一覧にfont face色を追加[[BR]]-- [id:talltale talltale] (2008-08-09 06:50 JST)
  * リリース 0.1.2 プロジェクトツリー内でのディレクトリ操作関数とファイル操作関数の追加[[BR]]-- [id:talltale talltale] (2008-08-03 10:59 JST)
  * リリース 0.1.1 初版リリース[[BR]]-- [id:talltale talltale] (2008-07-23 11:35 JST)