1 名前:デフォルトの名無しさん [04/04/09 22:24] 統合開発環境Eclipse用プラグイン開発に関する質問と回答です。 Eclipseの使い方や、プラグインの使い方は、 このスレでは扱いませんので、↓のほうへどうぞ。 pc5.2ch.net/test/read.cgi/tech/1076074293
2 名前:1 [04/04/09 22:29] いきなりスレタイトルをミスりました。 s/QA/Q&A/ でよろしくです。 ●プラグイン開発の基本情報 Eclipse上で「Help」→「Help Contents」→「Platform プラグイン・デベロッパー・ガイド」
3 名前:1 mailto:sage [04/04/09 22:36] ●プラグイン開発入門編 Eclipseプラグインの開発 www-6.ibm.com/jp/developerworks/opensource/030214/j_os-ecplug.html 自作プラグインの作り方 eclipsewiki.net/eclipse/index.php?%BC%AB%BA%EE%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%A4%CE%BA%EE%A4%EA%CA%FD Eclipseプラグイン開発自分FAQ www.asahi-net.or.jp/~cs8k-cyu/bulletml/bulletnote/eclipse_plugin_dev_faq.html 1から始めるプラグイン開発 hp.vector.co.jp/authors/VA000137/eclipse/eclipse-plugin.html Eclipse プラグインの開発 muimi.com/j/eclipse/dev_plugin/ Baykit Eclipse プラグイン作成に関するメモ www.baykit.jp/modules/bwiki/index.php?Baykit%20Eclipse%20%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%BA%EE%C0%AE%A5%E1%A5%E2 Eclipse Plugin 一口メモ www.limy.org/program/eclipse/plugin_memo.html eclipseのプラグインシステムの仕組み kumiki.c.u-tokyo.ac.jp/~ichiyama/projects/reports/eclipseplugin/eclipseplugin.html
4 名前:1 mailto:sage [04/04/09 22:42] ●プラグイン開発中級編 Eclipseプラグイン開発 hpcgi3.nifty.com/error404/cocohore/cocohore.cgi?m=1&s=1&t=yoichiro.cocolog-nifty.com/eclipse/ ●参考になるかも知れないプラグインいろいろ monalipse monalipse.sourceforge.jp/ RubyEclipse sourceforge.net/projects/rubyeclipse GroovyEclipse www.wikiroom.com/Groovy/?GroovyEclipse cvs.groovy.codehaus.org/viewcvs.cgi/groovy/ide/groovy-eclipse/GroovyEclipse/
5 名前:デフォルトの名無しさん mailto:sage [04/04/10 01:06] Eclipse3.0ではプラグイン開発のチュートリアルがついてくるらしいね。 かなりデザインが派手になって差
6 名前:デフォルトの名無しさん mailto:sage [04/04/10 02:49] >>1 乙。 よくやった!
7 名前:デフォルトの名無しさん mailto:sage [04/04/10 03:10] developerWorksにプラグイン開発の情報があるのでリンクします。 日本語によるプラグイン開発関連情報が増えるといいですね。 本家サイトの技術情報は英語でしか読めませんが、 Eclipse User Interface Guidelinesはぜひ日本語版が欲しいです。 ●プラグイン開発入門編 Eclipseプラグインの国際化対応 www-6.ibm.com/jp/developerworks/opensource/020823/j_os-i18n.html グラフィカル・エディティング・フレームワークを使用したEclipseベースのアプリケーション開発 www-6.ibm.com/jp/developerworks/opensource/031031/j_os-gef.html EclipseでのJava Development Toolsの拡張 www-6.ibm.com/jp/developerworks/opensource/031212/j_os-ecjdt.html Eclipseのヘルプ・システムを使ってプロジェクトを文書化する www-6.ibm.com/jp/developerworks/opensource/040326/j_os-echelp.html ●プラグイン開発中級編 Eclipse technical articles (E) www.eclipse.org/articles/ Eclipse User Interface Guidelines Version 2.1 (E) www.eclipse.org/articles/Article-UI-Guidelines/Contents.html
8 名前:デフォルトの名無しさん [04/04/10 07:58] で、結局 >>1 はどんなプラグインが欲しいんだ?
9 名前:シェアウェア? 何ソレ? [04/04/10 08:43] とりあえず欲しいのは、JDBC経由であらゆるデータベースに SQL文を発行できるプラグイン。 _ _ _____ /tab1/tab2/selectHoge| --------------------- select FOO, BAR, HOGE from EXAMPLE_TABLE where HOGE = ? -- ほげ and FOO = ? -- ふぉぉ --------------------- パラメタを指定してください [%HOGE% ] [v] like [A ] [ .] like 「?」部分の数だけ入力フィールドが有効になり、 条件を埋めることでSQL文発行可能。 likeがチェックされてると HOGE = ? は HOGE like ? に書き換えられる。 データベースからメタを情報を取ってきて型チェックと変換を行うので、 ユーザはテーブルのカラムの型とか気にせずにSQL文の発行に集中できる。 保存はテキスト形式とXML形式で可能。 ちなみに「SQL to Javaスタティック変数」みたいな便利機能付き。 データベースのスキーマを取得する機能があれば、完璧。
10 名前:9 [04/04/10 08:45] あ、ごめん。変なタイミングでレスしてしまった。。。 オレは>>1 じゃないよん。
11 名前:デフォルトの名無しさん mailto:sage [04/04/10 09:34] ここもくれくれ君のスレになるのか? それとも >>9 が頑張って作るのか?
12 名前:9 [04/04/10 10:12] SWTの使用経験はあるんだけど、プラグインの作り方はあんまりよくわからんのだよ。 でもJDBCとJakarta-OROは得意だから、ロジックだけは作れないこともない。 - SQLをコメントと文字列とそれ以外にパースして、 テーブルの別名と「?」の数を取得。(パラメタ入力フィールド有効化) - 別名から正式なテーブル名取ってきて、メタ情報をSELECT。 型名をもとに(パラメタ入力フィールドから取得した)文字列を チェック&型変換。 - あとは prepareStatement & パラメタ設定 & execute & 結果取得 (テーブルコンポーネントに結果を追加する) GUIと無関係のロジック部分だけうpって、GUIとの連携を何処かの誰かに頼みたいけど、、、 やっぱGUIも自分で作らなきゃだめですかそうですか。
13 名前:9 mailto:sage [04/04/10 10:36] ロジック書き終えたら質問しにきます。 それでは質問スレに戻ってください。おながいします。
14 名前:1 mailto:sage [04/04/10 14:22] >>8 別にいらない。自分で作ってみたいだけです。 では、質問です。 Win2000&Eclipse2.1.3&Java SDK1.4.2で、プラグインを作っています。 自作プラグイン上で、Runメニュー→「Run As」から、外部プログラムを起動したいと 思って以下のとおりにしました。が、うまく起動できずに、エラーログに org/eclipse/debug/ui/ILaunchShortcut Unhandled exception caught in event loop. の2行が表示されます。なにかやるべきことをしていないのだと 思いますが、それがなにかがわかりません。 それとも何か根本的に間違ってるのでしょうか? 教えてください。 1.Wizardを使って"Plug-in with an editor"のテンプレートを使用。 2.外部Jarファイルとして、org.eclipse.debug.ui_2.1.3/dtui.jar & org.eclipse.debug.core_2.1.2/dtcore.jarをプロジェクトに追加。 3.plugin.xmlに、org.eclipse.debug.ui.launchShortcutsの拡張ポイントを拡張。 4.拡張ポイント用クラスを用意。 5.「Run」→「Run As」→「Run-time workbench」 6.新たに起動されたEclipseで「Run」→「Run As」→「run Hello」としました。 plugin.xml と (拡張ポイント用クラス)HelloApplicationShortcutは↓
15 名前:1 mailto:sage [04/04/10 14:23] plugin.xmlに以下を追加しました。 <extension point = "org.eclipse.debug.ui.launchShortcuts"> <shortcut id="launching.HelloApplicationShortcut" class="launching.HelloApplicationShortcut" label="run Hello" icon="icons/sample.gif" helpContextId="run.Hello.runHello.shortcut_hello_application" modes="run, debug"> <perspective id="org.eclipse.jdt.ui.JavaPerspective"/> <perspective id="org.eclipse.jdt.ui.JavaHierarchyPerspective"/> <perspective id="org.eclipse.jdt.ui.JavaBrowsingPerspective"/> <perspective id="org.eclipse.debug.ui.DebugPerspective"/> </shortcut> </extension>
16 名前:1 mailto:sage [04/04/10 14:24] package launching; import java.io.IOException; import org.eclipse.debug.ui.ILaunchShortcut; import org.eclipse.jface.viewers.ISelection; import org.eclipse.ui.IEditorPart; public class HelloApplicationShortcut implements ILaunchShortcut { public void launch(ISelection selection, String mode){ try{ Runtime.getRuntime().exec("hello"); // hello.exeは単に"Hello,world"を表示するCで作ったプログラム。 }catch(IOException e){ System.out.println("error in launching"); } } public void launch(IEditorPart editor, String mode){ try{ Runtime.getRuntime().exec("hello"); }catch(IOException e){ System.out.println("error in launching"); } } }
17 名前:デフォルトの名無しさん mailto:sage [04/04/10 15:10] >>14 Unhandled exception caught in event loop. なら,スタックトレースもログにあるでしょ? 同一エントリじゃなくて隣のエントリになってるかもだけど.
18 名前:デフォルトの名無しさん mailto:sage [04/04/10 15:55] >>1 の反応がIDEの将来性の無さを語ってる気がするな。 何を作りたいかはっきりしないうちから なんで作りたいとか思うのか、さっぱり分からん。 結局は、何を作っても大して便利じゃないんだよ。早く気づけ。
19 名前:デフォルトの名無しさん mailto:sage [04/04/10 16:17] >>9 database接続&クエリ発行プラグインならあるのでは? それにSQL発行するアプリケーションは優れものが色々在るので、 わざわざ重いeclipse上で行うのは抵抗ありませんか? と思って、勉強がてらJDTエディタ上で ・SQLの構文チェック(oracleのみ・・・) ・SQLとStringリテラル文字列の相互変換 ができるプラグインを作っています(なかなか進みません・・・)
20 名前:デフォルトの名無しさん mailto:sage [04/04/10 16:45] IPMessengerみたいな感じで 開発者同士がチャット出来るようなプラグインないですか?
21 名前:デフォルトの名無しさん mailto:sage [04/04/10 16:46] >>20 ペアプロのためのプラグインあるよ しかし、口頭でコミュニケーションするか別のメッセアプリ使えよ。 なんでプラグインにする必要あるんだ
22 名前:デフォルトの名無しさん mailto:sage [04/04/10 17:14] 確かにペアプロとチャットでのコミュニケーションは別物だわな…
23 名前:14 mailto:sage [04/04/10 20:40] >>17 エラーログをダブルクリックすることで、スタックトレースを 見ることができました。 どこから手をつけたらいいのかわからなかったので助かります。 ILaunchShortcutが見つからないと言ってるようにみえるのですが、 ちょっと、Eclipseのソースを読んでみます。 うまくいったら報告にきます。 ありがとうございました。
24 名前:14 mailto:sage [04/04/10 21:58] >>18 >何を作りたいかはっきりしないうちから なぜこう言うのかわからなかったのですが、もしや、>>8 の >どんなプラグインが欲しいんだ? という発言を、「どんなプラグインを作るんだ?」の意味にとってるんでしょうか。 8の発言は「くれくれ君」なのか? という意味に聞こえたので(失礼)、 14の返答になったわけです。 で、何を作るかは決まっています。ただ、入り口でつまずいているわけですが。。。
25 名前:デフォルトの名無しさん mailto:sage [04/04/10 23:34] >>14 plugin.xmlに必要なプラグインを記述してないから,プラグインクラス ローダがクラスファイルを見つけられない。つーか、そもそも dtcore.jarとかdtui.jarとか必要なライブラリを自分でプロジェクトの プロパティで外部jarとして指定したのが間違いの始まり。plugin.xmlをプラグイン マニフェストエディタで編集し、「依存性」タブで依存するプラグイン であるorg.eclipse.debug.ui/coreを指定するとPDEが勝手にコンパイル時 のクラスパスを設定してくれる。 やりたいことがあるのはわかるが一番基本的なことだからサンプルやチュートリアル を一通りこなしてから出直すことをおすすめする。
26 名前:デフォルトの名無しさん mailto:sage [04/04/10 23:56] そうねぇ. オンラインのドキュメントもいいけど, 英語が苦でないならこれがおすすめ. Contributing to Eclipse: Principles, Patterns, and Plug-Ins www.amazon.co.jp/exec/obidos/ASIN/0321205758 英語がダメなら,立ち読みしかしたことないけど これが結構詳しいっぽい. Java開発者のためのEclipseエキスパートガイド www.amazon.co.jp/exec/obidos/ASIN/4875662912
27 名前:デフォルトの名無しさん mailto:sage [04/04/11 02:13] >>24 何を作るのかは企業秘密か
28 名前:14 mailto:sage [04/04/11 15:29] >>25 なるほど。基本的な間違いだったんですね。 一度、外部Jarの指定を削除して、plugin.xmlに 依存性を追加したら、うまく出来ました。 ありがとうございました! >>26 英語はいまいちなんですが、1番目の本買ってみます。 Amazonに在庫があるようなのですぐ届きそうですし。 2番目のほうは、レビューに訳がいまいちでお薦めじゃない って書いてるのがなぁ。。。どっか本屋で見かけたら立ち読みして 買うかどうか決めます。 >>27 いえ、単に趣味で作ってるだけなので秘密でもなんでもないです。 とある言語用の開発環境を作ってみようかと。RubyEclipse みないなもんです。Ruby用ではないですが。 というわけで、もっと勉強して出直してきます。 #ところで、チュートリアルはどこにあるんだろう? #探したけど見つからなかった。 #Eclipse3.0につくとかいうやつなんだろうか。。。
29 名前:デフォルトの名無しさん mailto:sage [04/04/11 22:36] >>28 D言語用のなら漏れも欲しい。 Rubyのも誰かもっとマシなの作ってほしい。
30 名前:デフォルトの名無しさん mailto:sage [04/04/11 22:54] >>29 D言語用は一応あるみたい。 andy.tadan.us/d/ のeclipseDってやつです。 使ったことないので、どんなんだかわかりませんが。
31 名前:デフォルトの名無しさん mailto:sage [04/04/11 23:24] >>30 それなんだけど、単にsyntax highrightしただけのサンプル書き換えればできるだけの クソプラグインなのよね。
32 名前: mailto:sage [04/04/12 14:01] www.amazon.com/exec/obidos/tg/detail/-/0321205758/ref=cm_cr_dp_2_1/103-4550242-8979862?v=glance&s=books&vi=customer-reviews Contributing to Eclipseの評価、すげー極端だな。 アンチがカルトだとかの言葉を使うのは2CHのスレを見てるようだ。
33 名前:デフォルトの名無しさん mailto:sage [04/04/12 20:01] >>31 ハイライトだけだったら、30分ぐらいで出来るかも。 あと欲しい機能は、コンパイルとアウトラインとかでしょうか。 それぐらいなら、サンプルのJavaEditorを改造すれば、1〜2週間ぐらいで 出来るのではと妄想してみる。 D言語って、Javaに似てるんですよね。なら、ちょっとの改造で済みそうな。。。
34 名前:デフォルトの名無しさん [04/04/13 03:56] >>18 ていうかね、プラグインを作る前に、そのツールを先にAnt タスクとして実装してくれって感じ。 プラグインがあればつかえるけれどもAntでできることをAntでやらないというのはおかしい。 まずはAntでもできることはAntでもできるように汁。 プラグイン開発はそれからだ。 いくらGUIが便利で簡単そうに見えても くだらんことのためにコマンド一発の替わりにマウスを何十回も単調に動かし手首を痛めるのはごめんだ。
35 名前:デフォルトの名無しさん mailto:sage [04/04/13 17:15] @ITのEclipse徹底活用でもプラグイン作成解説が始まりました。 第8回 Eclipseプラグインを作る(1) www.atmarkit.co.jp/fjava/rensai2/eclipse2_08/eclipse08_1.html
36 名前:デフォルトの名無しさん mailto:sage [04/04/14 03:17] >>33 Eclipseの肝は一貫したUIとリソース管理とそれとうまく結びついてる IncrementalBuilderとProjectNatureあたりで、 見方によっては、Eclipseって実はD言語のために作られたのか、 と思えるほど、親和性があるのだけど、それをたんなるハイライトで 終らせてるって、もうそのプラグイン作者は完全にやる気ないとしか思えないんだよ。 >>34 それもそうだが、eclipseの肝は上記のものにあるので、Antとは違う領域と思われ
37 名前: mailto:sage [04/04/15 08:06] Eclipseの新バージョンはプラグインの作り方の細部がかなり変わるの? >>26 の本買おうかと思ったけど、古くならないかな?
38 名前:デフォルトの名無しさん mailto:sage [04/04/15 11:57] >37 2.xでのプラグイン作成の手法は大体3.0でも通用するよ。 ある程度互換が取れるように配慮されている。なにが どう変わったかのガイドも用意されているし。 ただ3.0ではOSGiとかランタイム環境ががらっと変わって いるからそのあたりを使うなら全然違うとも言える。
39 名前:デフォルトの名無しさん mailto:sage [04/04/15 13:02] >>37 微妙に違うけど、そんなに激しくは変わらない 3.0になっても別に新しいトピックは無い
40 名前:37 mailto:sage [04/04/15 15:20] >>38 >>39 どうもありがとう。安心しました。
41 名前:デフォルトの名無しさん mailto:sage [04/04/24 15:19] pascal用がさらに強化されることを祈る。
42 名前:デフォルトの名無しさん mailto:age [04/05/02 00:18] ツールバーの位置に、コンボボックスを配置できずに困っています。 Cool Barというものを利用すればいろんなコントロールを貼り付けられるという情報を聞いたのですが、イマイチ情報が少なくて。 どなたかご経験がおありなら、ぜひともご教授お願いします。
43 名前:デフォルトの名無しさん mailto:sage [04/05/02 00:49] >>42 スタンドアロンアプリならわからんが、WorkbenchWindowにはムリだろうなぁ
44 名前:デフォルトの名無しさん mailto:sage [04/05/02 01:51] >>42 スタンドアロンアプリで試しましたが確かにComboは ToolBarには乗らずCoolBarに乗りました。 追試したいなら、CoolBarサンプルソースの shell.setSize(200, 80);の直前にComboのコードを追加してください。 SWTのサンプルは「SWTサンプル集」と「SWT Tips and Samples」に大量にあります。 CoolBarサンプルソース amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi/swt?page=CoolBar 追加コード Combo combo3 = new Combo(coolbar,SWT.READ_ONLY); combo3.add("Item1"); combo3.add("Item2"); combo3.select(0); CoolItem item3 = new CoolItem(coolbar,SWT.PUSH); item3.setControl(combo3); Point pt3 = combo3.computeSize(SWT.DEFAULT,SWT.DEFAULT); pt3 = item3.computeSize(pt3.x,pt3.y); item3.setSize(pt3); SWTサンプル集 (移転しています) amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi/swt SWT Tips and Samples cjasmin.fc2web.com/ >>43 Eclipseツールバーは裸のToolBaでなくCoolBarにToolBarをぶらさげているので ComboをToolBarをはさまずCoolBarに直接ぶらさげれば良いのですが、 そんなextension pointがあるかどうかが問題ですね。 extension pointに詳しい方どうぞー。
45 名前:デフォルトの名無しさん mailto:sage [04/05/02 02:23] >>44 extension pointって リファレンス見れ。そんなもんあるわけないだろ
46 名前:44 mailto:sage [04/05/02 18:29] >>42 そんな特殊なextension pointはないという事で CoolBarインスタンスに直接アクセスするしかなさそうです。 WorkbenchインスタンスからたどればCoolBarのインスタンスを取得できます。 Workbenchのメソッド public static final Workbench getInstance() //クラスメソッド public IWorkbenchWindow[] getWorkbenchWindows() // WorkbenchWindowはWorkbench内に複数 public IWorkbenchWindow getActiveWorkbenchWindow() // ActiveWorkbenchWindowはWorkbench内に一つ WorkbenchWindowのメソッド public CoolBarManager getCoolBarManager() // 親クラスのApplicationWindowで定義 public boolean isApplicationMenu(String menuID) // 指定したメニューが含まれているか判定 CoolBarManagerのメソッド public CoolBar getControl() 複数WorkbenchWindowから目的のWorkbenchWindowを見つけるには isApplicationMenu()で特定のメニューが含まれているか調べるのが簡単かと思います。 ActiveWorkbenchWindowのCoolBarなら1行で取得できます。 CoolBar coolBar = Workbench.getInstance().getActiveWorkbenchWindow().getCoolBarManager().getControl(); このレスはソースを調べただけで書いており、動作検証はしていません。 バイナリと同じページから落とせるSource BuildにExplorer検索をかけて調べました。
47 名前:デフォルトの名無しさん mailto:sage [04/05/04 17:19] >>43-46 情報ありがとうございます。 連休あけたら試してみます。
48 名前:デフォルトの名無しさん mailto:age [04/05/06 20:21] >>46 >>CoolBar coolBar = Workbench.getInstance().getActiveWorkbenchWindow().getCoolBarManager().getControl(); getControl()というメソッドがなく、getItems()というメソッドならありました。 これだとIContributionItemの配列が返ってくるのですが、IContributionItemはCompositeをextendsした型では ないので、 Comboのコンストラクタで指定できませんでした・・・
49 名前:44 mailto:sage [04/05/07 01:57] >>48 今までEclipse3.0M8のCoolBarManager.javaを見ていたのですが、 Eclipse2.1.3の方を確認するとgetControl()がデフォルトメソッドですね。 従ってEclipse2.1.3ではパッケージorg.eclipse.ui.internalに属さないクラスから CoolBarManager#getControl()を直接呼び出せません。 Eclipse3.0M8の場合 public CoolBar getControl() { return coolBar; } // Eclipse2.1.3の場合 /* package */ CoolBar getControl() { return coolBar; } むりやりな方法ですがパッケージorg.eclipse.ui.internalに属し CoolBarManager#getControl()の返り値を返すpubliceメソッドを持つクラスを作れば Eclipse3.0M8とEclipse2.1.3とで同じコードでCoolBarを取得できます。
50 名前:デフォルトの名無しさん mailto:sage [04/05/07 11:51] >>49 UIガイドラインを無視しなきゃinternal叩くほどのことはないと思う
51 名前:デフォルトの名無しさん mailto:sage [04/05/13 08:32] >>49 >>むりやりな方法ですがパッケージorg.eclipse.ui.internalに属し >>CoolBarManager#getControl()の返り値を返すpubliceメソッドを持つクラスを作れば >>Eclipse3.0M8とEclipse2.1.3とで同じコードでCoolBarを取得できます。 報告遅れました。 その方法で、確かに無理やりですができました。 例外が発生していて、描画も少しおかしいですが、いたしかたないです。 あとはワークベンチの生成とのタイミングの問題のような気がします。 ありがとうございました。
52 名前:デフォルトの名無しさん [04/05/26 20:51] プラグインで、 右クリックのコンテキストメニューは動的に生成可能みたいだけど、 画面一番上のメニュー項目の動的生成はできないのかなぁ? いろいろ調べたんだが、どうしてもだめだった。 IActionFilterインターフェイスを実装するのが近いのかな?
53 名前:デフォルトの名無しさん [04/05/26 20:52] プラグインで、 右クリックのコンテキストメニューは動的に生成可能みたいだけど、 画面一番上のメニュー項目の動的生成はできないのかなぁ? いろいろ調べたんだが、どうしてもだめだった。 IActionFilterインターフェイスを実装するのが近いのかな?
54 名前:デフォルトの名無しさん mailto:sage [04/05/27 12:25] >>53 IMenuManager.add(IAction action)
55 名前:54 mailto:sage [04/05/27 12:26] 目的によってはRetargetActionをつかうほうが よい場合もあり。
56 名前:53 [04/05/27 12:35] >>54-55 Thx. ためしてみますです。
57 名前:53 [04/05/28 12:26] MenuManagerを利用することで、最上段に動的に メニューを追加したり削除することができました。どうもです。 でも、Plugin-XMLで最初に追加するメニュー項目について、そこにアイテムを動的に追加したり 削除することはできないです。これはどうでしょう? あと、RetargetActionの使い方がちょっと現在理解不能。 ちなみにこれは、例えば最初にアクションとして登録した クラスを別のクラスのアクションに登録しなおすみたいなイメージですかねー。
58 名前:デフォルトの名無しさん mailto:sage [04/05/28 13:14] >>57 正しいmenubar pathを指定していないから。 RetargetActionはまあそんな感じ。 たとえばEdit->Copyなんかは各種プラグインで共有するから この手の仕組みがないと整合が取れない。
59 名前:53 [04/05/28 21:31] >>58 いえいえ、正しいmenubarPathからIMenuManager が取得できないんですよ。実際。 本国サイトにもおんなじことで悩んでる人がいました。。。 なんとかならないもんですかねぇ。 ---------- [news.eclipse.platform] Re: How to use findMenuUsingPath(argument)?again thanks. I use findUsingPath("org.eclipse.examples.view.menu"),the return value is IContributionItem.But I want to get the menu item of "org.eclipse.examples.view.menu".With the IContributionItem I found nothing. If I use findMenuUsingPath("org.eclipse.examples.view.menu") which I want to return IMenuManager.But its value is null. When I use findMenuUsingPath(IWorkbenchActionConstants.M_EDIT),its return value is IMenuManager which I can use it to add submenu dynamically. I think if Eclipse allow us to use findMenuUsingPath to find the inherent IMenuManager such as M_EDIT,M_FILE,M_WINDOW etc.The menu which is added from the plugin.xml cannot be find. I don't know if I am right? can you give me some suggestions. My goal is to dynamically add menu to the menu declared in plugin.xml. thanks > Daniel wrote: > > How can I get the MenuManager of the menu? > I'm not sure, but have you tried debugging a bit to see what happens? > I'd recommend trying something like > 'menuManager.findUsingPath("org.eclipse.examples.view.menu")' -- and seeing > what value is returned. Also, is your menu visible when you make this call > (i.e., is the action set enabled)?
60 名前:53 [04/05/28 21:34] >>58 いえいえ、正しいmenubarPathからIMenuManager が取得できないんですよ。実際。 本国サイトにもおんなじことで悩んでる人がいました。。。 なんとかならないもんですかねぇ。 ---------- [news.eclipse.platform] Re: How to use findMenuUsingPath(argument)?again thanks. I use findUsingPath("org.eclipse.examples.view.menu"),the return value is IContributionItem.But I want to get the menu item of "org.eclipse.examples.view.menu".With the IContributionItem I found nothing. If I use findMenuUsingPath("org.eclipse.examples.view.menu") which I want to return IMenuManager.But its value is null. When I use findMenuUsingPath(IWorkbenchActionConstants.M_EDIT),its return value is IMenuManager which I can use it to add submenu dynamically. I think if Eclipse allow us to use findMenuUsingPath to find the inherent IMenuManager such as M_EDIT,M_FILE,M_WINDOW etc.The menu which is added from the plugin.xml cannot be find. I don't know if I am right? can you give me some suggestions. My goal is to dynamically add menu to the menu declared in plugin.xml. thanks > Daniel wrote: > > How can I get the MenuManager of the menu? > I'm not sure, but have you tried debugging a bit to see what happens? > I'd recommend trying something like > 'menuManager.findUsingPath("org.eclipse.examples.view.menu")' -- and seeing > what value is returned. Also, is your menu visible when you make this call > (i.e., is the action set enabled)?
61 名前:53 [04/05/28 21:38] 調子が悪いみたいです。連投になっててゴメンね
62 名前:デフォルトの名無しさん [04/05/29 07:48] リストにいれた要素の各背景色を変える手段ってないですか? 全体として1色にしかできないのかなぁ・・・orz
63 名前:デフォルトの名無しさん [04/05/29 08:26] >>62 ListのかわりにTableではどうか
64 名前:62 [04/05/29 08:47] >>63 そか。Tableがあったんだ。 はげしくさんくすです。(*´д`*) こうなったらListViewerでも使ってILabelProviderのgetTextみたいな感じでなんとか ならんかとか考えてたよ。。。orz
65 名前:デフォルトの名無しさん [04/05/29 09:42] ああ、なんか作りたくなってきたよ 多分今夜あたり質問することになるけど そんときはヨロピクメカゴジラ さてどんなプラグインつくりましょうかぇ〜。。。com
66 名前:デフォルトの名無しさん mailto:sage [04/05/29 10:33] >>65 そう易々と作れるもんじゃない あの大量のAPIを使うことを考えて冷静に見積もってみれ 個人じゃ不可能
67 名前:デフォルトの名無しさん mailto:sage [04/05/29 10:38] >65 D言語用プラグイン キボンヌ
68 名前:67 mailto:sage [04/05/29 10:39] ただハイライトつけるだけのやつじゃダメね JDTみたく必要なものだけコンパイルしてくれるやつ
69 名前:デフォルトの名無しさん [04/05/29 10:41] >>66 あ、そうなんですか? 僕、趣味感覚で出来るのかなとも思ってました・・・ Javaプログラミング経験も5年あるのでスキル的には問題ないのかなと買いかぶっていました んじゃあとりあえずSWTのみのスタンドアロンから初めて その後移植するって言うのが普通の覚え方なんすかねぇ とりあえず午前中はEclipseヘルプ見ていますが・・・
70 名前:デフォルトの名無しさん [04/05/29 10:44] てか、プラグイン作るっていうのは みんなが欲しい機能を作るってことだから そういうのって自分がひらめく前に 誰かがもう作っちゃってるのかなぁ・・・
71 名前:デフォルトの名無しさん mailto:sage [04/05/29 10:56] いや、オレしか要らない機能を作るのだよ。 ラーメン・おふろタイマーでプリセットの時間しか測れないようなものとか。 プリセット増やすには、ソース書き換えてコンパイルで。
72 名前:デフォルトの名無しさん [04/05/29 11:03] いまさらそんんなのつくるんですか? 新しい言語覚えるときでも そんなの飛ばしますよマジで・・・
73 名前:デフォルトの名無しさん mailto:sage [04/05/29 12:04] >>64 何かビューの中で選択可能なものなら、(ISelectionProviderやIAdapterあたりの関係で) TableViewerで作ったほうがいいと思うけどね。
74 名前:デフォルトの名無しさん mailto:sage [04/05/30 03:09] >>72 べつに、勉強のために作るわけじゃないからな。 あれば便利なものを作るだけだ。
75 名前:デフォルトの名無しさん mailto:sage [04/05/30 04:05] >>66 確かに易々と作れないが、だからといってツールを作る場合に、 eclipseのリソース管理機能とか土台を再発明することはさらに非現実的。
76 名前:デフォルトの名無しさん mailto:sage [04/05/30 08:40] そういうのは再発明っていわない。 再実装だ。
77 名前:デフォルトの名無しさん mailto:sage [04/05/31 08:10] まあ、どっちにしてもあるもんを使えよって話だな。
78 名前:デフォルトの名無しさん mailto:sage [04/05/31 09:28] 再実装は、すでにある実装が用件をみたしているとは限らないし、勉強になるから、>>65 のようになんかつくりたくなった、という場合には、問題ない。 むしろ、すでに実装があるものの自分にあわせたサブセットを実装するのは、趣味のプログラムとしてはいいかもしれない。 行き詰まったらすでにある実装みればいいし。 すでに実装があることをしらずに、「こいつで世の中をあっといわせてやるぜ」とかやるのはバカだけど。
79 名前:デフォルトの名無しさん [04/06/25 19:35] VC++で作成したWin32DLLにeclipseプラグインからアクセスするために、 JNI(これもVC++で作ったスタブDLL)を利用してるんですけど、 このスタブDLLをソースレベルでデバッグする方法を模索中です。 通常のSWTアプリとかJavaアプリなら、VC++のデバッグ対象を java.exeにして、コマンドラインに アプリケーションの.jarファイルを 指定すれば、ソースレベルデバッグ可能ですが、プラグインではどうにも なりません。ランタイムワークベンチをVC++のデバッガから「プロセスに アタッチ」すると、TRACEマクロとかは利用できますが、アセンブラコードの デバッグになってしまします。 なにかいい方法をしっている人いませんか?
80 名前:デフォルトの名無しさん mailto:sage [04/06/25 21:11] eclipse.exeは実はjava.exe読んでるだけなので、 java.exe -cp startup.jar org.eclipse.core.launcher.Main -os win32 -ws win32 -arch x86 -install file:c:/eclipse/ で起動してデバッガにかければいいんじゃないの?
81 名前:79 [04/06/28 10:55] >>80 どうもです。試してみました。起動はするのですが、やはりデバッグ不可でした。 接続先が通常のワークベンチではなく、ランタイム ワークベンチの方と接続できないとだめなんですかねー。
82 名前:デフォルトの名無しさん mailto:sage [04/06/28 13:00] >>81 じゃ、起動オプションを全てruntimeworkbenchにあわせましょう。 起動オプションはオンラインマニュアルのどっかに書いてあります。 ランタイムワークベンチでdetail configurationでも出てきたかな?
83 名前:デフォルトの名無しさん [04/07/10 22:26] よくあるUIプラグインのアイコンフォルダ icons/full/obj16/nn.gif とか、このfullっていうのは、どういう意味あるんだ?
84 名前:デフォルトの名無しさん mailto:sage [04/07/14 00:52] Mac版のeclipse3ってどうやって日本語化するんですか?
85 名前:デフォルトの名無しさん mailto:sage [04/07/14 01:01] >>84 翻訳して、xx_ja.properties ファイルを作って、unicodeエスケープして もとのxx.properties ファイルと同じディレクトリに置く。
86 名前:デフォルトの名無しさん mailto:sage [04/07/19 21:06] >>84 pcweb.mycom.co.jp/column/osx/099/
87 名前:デフォルトの名無しさん [04/07/21 14:20] 誰か助けてくれ。 マーカを自作したんだが、自作アイコンがつかない。 <extension point="org.eclipse.ui.ide.markerImageProviders"> <imageprovider markertype="org.mymarker" icon="icons/myicon.gif" id="org.mymarker.icon"> </imageprovider> </extension> とやったんだが、何がいけないんだか、わかんない。 iconsフォルダは開発しているプラグインのフォルダ内に作った。 gifは動いているプラグインのを実験用にパクって来た。 だ、誰か。教えてくだされ。
88 名前:デフォルトの名無しさん [04/07/21 14:22] ↑ Eclipse3.0RC+日本語パッチです。
89 名前:デフォルトの名無しさん mailto:sage [04/07/21 21:09] >>87 それ気づいたときにかなり脱力するだろうな...
90 名前:87 [04/07/22 14:43] >>89 え?わかるんですか? 教えてください。もう、悩みぬいて、倒れそうです。
91 名前:デフォルトの名無しさん mailto:sage [04/07/22 22:23] よく知らんけど extention じゃないの?
92 名前:デフォルトの名無しさん mailto:sage [04/07/22 23:09] >>91 いくらなんでも違うだろ。
93 名前:デフォルトの名無しさん mailto:sage [04/07/23 10:11] "extensions point" じゃないの?
94 名前:デフォルトの名無しさん mailto:sage [04/07/24 14:33] いや、 Conquerors expanssionだろ
95 名前:デフォルトの名無しさん mailto:sage [04/07/24 14:34] exception expection
96 名前:デフォルトの名無しさん [04/07/24 14:34] Eclipse3.0からはプラグインの開発スタイルも変わってしまったのだろうか?
97 名前:デフォルトの名無しさん [04/07/31 09:32] プラグインを作っていますが、エキスポートして配布するところでつまづいています。 配布zipのエキスポートがうまくいかないので、jarを作ってplugin.xmlと一緒に手動で インストールしていますが、起動時にクラスをロードできませんといって怒られます。 試しにウィザードで生成したHelloWorldを同じ手順でインストールしてみても同じでした。 何か心当たりがあるかた、教えてくださいませ。 バージョンは2.1.2です。
98 名前:デフォルトの名無しさん mailto:sage [04/07/31 13:53] 多国語パック入れてたら、known bugに引っ掛かっている可能性大。要確認。
99 名前:97 mailto:sage [04/08/03 20:34] ご指摘どもです。 LangPack当てずにやってみましたが、状況変わらずです。 作成したウィザードを開こうとすると「Plugin hoge was unable to load class hoge.wizard」と出るので、hogePlugin.classがロードされていないような感じです。 jarにhogePlugin.classが含まれているか、plugin.xmlの指定は正しいか、など気をつけてはいるのですが…。
100 名前:デフォルトの名無しさん mailto:sage [04/08/03 21:53] Error Log viewみた?