[[JAVAの記事一覧]]

*目次 [#k5b1b442]
#contents
*趣旨 [#od33a6b3]
Eclipseでマクロ機能を使えるようにする

*Eclipse Monkeyの導入 [#o93343fc]

まずはEclipse Monkeyをアップデートサイト経由で導入します。

http://download.eclipse.org/technology/dash/update/

Eclipse MonkeyをインストールするとEclipseのメニューバーに「Scripts」メニューが追加される。

*「Examples」を選択 [#s567cc18]
メニューバーに「Scripts」から「Examples」を選択することでワークスペースに「Eclipse Monkey Examples」プロジェクトが作成される

*Eclipseのメニューに表示する [#lb3c8270]
エクリプスでjsファイルを新規作成し、

下記ソースを保存する。

すぐさま

Hello > NanimoShinai

にメニューが登録されているのがわかる。

 /*
 * Menu: Hello > NanimoShinai
 */
  
 function main() {
 
 }

*メッセージボックスを表示する [#tad11ab8]
 /*
 * Menu: Hello > HelloWorld
 */
  
 function main() {
 Packages.org.eclipse.jface.dialogs.MessageDialog.openInformation( 	
	window.getShell(), 	
	"Monkey Dialog", 
	"Hello World"	
	)
 }

**alert [#ie347008]
alert文でもアラート表示できた。

 alert("1");

**他ファイルの読み込み [#tf108fe7]
まず、下記のファイルを作成しておく
***LibHello.js [#qe13fbee]
 function lib_function() {
	return "Hello libfunction";
 }

***インクルード例 [#g08e0b61]
 /*
  * Menu: Hello > LibHello
 */
  
 include("LibHello.js");
 
 function main() {
 	alert(lib_function());	
 }

*Eclipse Monkeyで使えるオブジェクト [#wbb7aad5]
下記のようにコメント箇所に
 * DOM: http://localhost/org.eclipse.eclipsemonkey.lang.javascript
をいれるとエクリプスのオブジェクトにアクセスできる

 /*
 * Menu: Views > Google Web View
 * DOM: http://localhost/org.eclipse.eclipsemonkey.lang.javascript
 */

**参考URL [#aa98ae3a]
http://d.hatena.ne.jp/ZoAmichi/20080801/1217631793



**ビューの取得 [#j3375929]

views.getView("GoogleWebView");


**Resourcesオブジェクトを取得 [#g972ebc6]

          o Resources
                + Object[] filesMatching(String) ワークスペース上のパターンに一致するファイルオブジェクトを返します

**View [#h4cdaed7]
***void setHTML(String) [#f6a8c73b]
***void execute(String) [#n30033ac]
引数はorg.eclipse.swt.Browser#executeで実行するスクリプトです
***void showView(boolean) [#j759f1bc]
***void setTitle(String) [#pbf41904]
***String url [#yd45f67e]
***addEventListener(String, js関数) [#h33b4e2b]
これどこに定義されてるんですか?

**editorsオブジェクトを取得 [#i30adad9]
***Editor[] all [#m2366f60]
開いてる全てのエディタ
***Editor [#f800a48b]
activeEditor 開いてるアクティブなエディタ
***String toString() [#qae4796f]

**Editorオブジェクト [#w4b1cd39]
***void applyEdit(int,int,String) 引数は(開始位置、置換される長さ、挿入するテキスト) [#acd249fa]
***void beginCompoundChange() [#ab974431]
***void close(boolean) [#m884c99e]
引数にtrueで保存して閉じる
***void endCompoundChange() [#r95b2dd0]
***int getLineAtOffset(int) 指定したテキスト位置から行を取得 [#lb2985ec]
***int getOffsetAtLine(int) 指定した行のテキスト位置を取得 [#j77e1682]
***void save() [#v9db90f2]
***void selectAndReveal(int,int) [#te8ca402]
***String toString() [#f6bed0b7]
***String id [#y1d4d4f5]
***String lineDelimiter [#ve6ba959]
***int sourceLength [#de3653b4]
***[JSO] selectionRange 選択範囲。 [#h148ec2b]
 {"startingOffset":開始位置,"endingOffset":終了位置}
                + String title
                + ITextEditor textEditor
                + int currentOffset 書き込み可能プロパティ

**io [#g9c77eca]
    未調査。 


*Eclipse/保存と同時にブラウザを自動リロードする方法 [#cedfbe50]

http://tobysoft.net/wiki/index.php?Eclipse%2F%CA%DD%C2%B8%A4%C8%C6%B1%BB%FE%A4%CB%A5%D6%A5%E9%A5%A6%A5%B6%A4%F2%BC%AB%C6%B0%A5%EA%A5%ED%A1%BC%A5%C9%A4%B9%A4%EB%CA%FD%CB%A1

http://d.hatena.ne.jp/tomo_snowbug/20080809/1218294986
トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS