統合開発環境Eclipseプラグイン開発QAat TECH
統合開発環境Eclipseプラグイン開発QA - 暇つぶし2ch1:デフォルトの名無しさん
04/04/09 22:24
統合開発環境Eclipse用プラグイン開発に関する質問と回答です。

Eclipseの使い方や、プラグインの使い方は、
このスレでは扱いませんので、↓のほうへどうぞ。
スレリンク(tech板)





2:1
04/04/09 22:29
いきなりスレタイトルをミスりました。
s/QA/Q&A/
でよろしくです。

●プラグイン開発の基本情報
Eclipse上で「Help」→「Help Contents」→「Platform プラグイン・デベロッパー・ガイド」


3:1
04/04/09 22:36
●プラグイン開発入門編
Eclipseプラグインの開発
URLリンク(www-6.ibm.com)
自作プラグインの作り方
URLリンク(eclipsewiki.net)
Eclipseプラグイン開発自分FAQ
URLリンク(www.asahi-net.or.jp)
1から始めるプラグイン開発
URLリンク(hp.vector.co.jp)
Eclipse プラグインの開発
URLリンク(muimi.com)
Baykit Eclipse プラグイン作成に関するメモ
URLリンク(www.baykit.jp)
Eclipse Plugin 一口メモ
URLリンク(www.limy.org)
eclipseのプラグインシステムの仕組み
URLリンク(kumiki.c.u-tokyo.ac.jp)

4:1
04/04/09 22:42
●プラグイン開発中級編
Eclipseプラグイン開発
URLリンク(hpcgi3.nifty.com)

●参考になるかも知れないプラグインいろいろ
monalipse
URLリンク(monalipse.sourceforge.jp)
RubyEclipse
URLリンク(sourceforge.net)
GroovyEclipse
URLリンク(www.wikiroom.com)
URLリンク(cvs.groovy.codehaus.org)

5:デフォルトの名無しさん
04/04/10 01:06
Eclipse3.0ではプラグイン開発のチュートリアルがついてくるらしいね。
かなりデザインが派手になって差

6:デフォルトの名無しさん
04/04/10 02:49
>>1乙。
よくやった!

7:デフォルトの名無しさん
04/04/10 03:10
developerWorksにプラグイン開発の情報があるのでリンクします。
日本語によるプラグイン開発関連情報が増えるといいですね。
本家サイトの技術情報は英語でしか読めませんが、
Eclipse User Interface Guidelinesはぜひ日本語版が欲しいです。

●プラグイン開発入門編
Eclipseプラグインの国際化対応
URLリンク(www-6.ibm.com)
グラフィカル・エディティング・フレームワークを使用したEclipseベースのアプリケーション開発
URLリンク(www-6.ibm.com)
EclipseでのJava Development Toolsの拡張
URLリンク(www-6.ibm.com)
Eclipseのヘルプ・システムを使ってプロジェクトを文書化する
URLリンク(www-6.ibm.com)

●プラグイン開発中級編
Eclipse technical articles (E)
URLリンク(www.eclipse.org)
Eclipse User Interface Guidelines Version 2.1 (E)
URLリンク(www.eclipse.org)

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:デフォルトの名無しさん
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
04/04/10 10:36
ロジック書き終えたら質問しにきます。

それでは質問スレに戻ってください。おながいします。

14:1
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
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
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:デフォルトの名無しさん
04/04/10 15:10
>>14
Unhandled exception caught in event loop.
なら,スタックトレースもログにあるでしょ?
同一エントリじゃなくて隣のエントリになってるかもだけど.

18:デフォルトの名無しさん
04/04/10 15:55
>>1の反応がIDEの将来性の無さを語ってる気がするな。

何を作りたいかはっきりしないうちから
なんで作りたいとか思うのか、さっぱり分からん。

結局は、何を作っても大して便利じゃないんだよ。早く気づけ。

19:デフォルトの名無しさん
04/04/10 16:17
>>9
database接続&クエリ発行プラグインならあるのでは?
それにSQL発行するアプリケーションは優れものが色々在るので、
わざわざ重いeclipse上で行うのは抵抗ありませんか?
と思って、勉強がてらJDTエディタ上で
・SQLの構文チェック(oracleのみ・・・)
・SQLとStringリテラル文字列の相互変換
ができるプラグインを作っています(なかなか進みません・・・)

20:デフォルトの名無しさん
04/04/10 16:45
IPMessengerみたいな感じで
開発者同士がチャット出来るようなプラグインないですか?

21:デフォルトの名無しさん
04/04/10 16:46
>>20 ペアプロのためのプラグインあるよ


しかし、口頭でコミュニケーションするか別のメッセアプリ使えよ。
なんでプラグインにする必要あるんだ

22:デフォルトの名無しさん
04/04/10 17:14
確かにペアプロとチャットでのコミュニケーションは別物だわな…

23:14
04/04/10 20:40
>>17
エラーログをダブルクリックすることで、スタックトレースを
見ることができました。
どこから手をつけたらいいのかわからなかったので助かります。

ILaunchShortcutが見つからないと言ってるようにみえるのですが、
ちょっと、Eclipseのソースを読んでみます。
うまくいったら報告にきます。
ありがとうございました。


24:14
04/04/10 21:58
>>18
>何を作りたいかはっきりしないうちから
なぜこう言うのかわからなかったのですが、もしや、>>8
>どんなプラグインが欲しいんだ?
という発言を、「どんなプラグインを作るんだ?」の意味にとってるんでしょうか。
8の発言は「くれくれ君」なのか? という意味に聞こえたので(失礼)、
14の返答になったわけです。
で、何を作るかは決まっています。ただ、入り口でつまずいているわけですが。。。


25:デフォルトの名無しさん
04/04/10 23:34
>>14
plugin.xmlに必要なプラグインを記述してないから,プラグインクラス
ローダがクラスファイルを見つけられない。つーか、そもそも
dtcore.jarとかdtui.jarとか必要なライブラリを自分でプロジェクトの
プロパティで外部jarとして指定したのが間違いの始まり。plugin.xmlをプラグイン
マニフェストエディタで編集し、「依存性」タブで依存するプラグイン
であるorg.eclipse.debug.ui/coreを指定するとPDEが勝手にコンパイル時
のクラスパスを設定してくれる。
やりたいことがあるのはわかるが一番基本的なことだからサンプルやチュートリアル
を一通りこなしてから出直すことをおすすめする。

26:デフォルトの名無しさん
04/04/10 23:56
そうねぇ.
オンラインのドキュメントもいいけど,
英語が苦でないならこれがおすすめ.
Contributing to Eclipse: Principles, Patterns, and Plug-Ins
URLリンク(www.amazon.co.jp)
英語がダメなら,立ち読みしかしたことないけど
これが結構詳しいっぽい.
Java開発者のためのEclipseエキスパートガイド
URLリンク(www.amazon.co.jp)

27:デフォルトの名無しさん
04/04/11 02:13
>>24 何を作るのかは企業秘密か

28:14
04/04/11 15:29
>>25
なるほど。基本的な間違いだったんですね。
一度、外部Jarの指定を削除して、plugin.xmlに
依存性を追加したら、うまく出来ました。
ありがとうございました!

>>26
英語はいまいちなんですが、1番目の本買ってみます。
Amazonに在庫があるようなのですぐ届きそうですし。
2番目のほうは、レビューに訳がいまいちでお薦めじゃない
って書いてるのがなぁ。。。どっか本屋で見かけたら立ち読みして
買うかどうか決めます。

>>27
いえ、単に趣味で作ってるだけなので秘密でもなんでもないです。
とある言語用の開発環境を作ってみようかと。RubyEclipse
みないなもんです。Ruby用ではないですが。

というわけで、もっと勉強して出直してきます。
#ところで、チュートリアルはどこにあるんだろう?
#探したけど見つからなかった。
#Eclipse3.0につくとかいうやつなんだろうか。。。

29:デフォルトの名無しさん
04/04/11 22:36
>>28

D言語用のなら漏れも欲しい。
Rubyのも誰かもっとマシなの作ってほしい。

30:デフォルトの名無しさん
04/04/11 22:54
>>29
D言語用は一応あるみたい。
URLリンク(andy.tadan.us)
のeclipseDってやつです。
使ったことないので、どんなんだかわかりませんが。

31:デフォルトの名無しさん
04/04/11 23:24
>>30

それなんだけど、単にsyntax highrightしただけのサンプル書き換えればできるだけの
クソプラグインなのよね。

32: 
04/04/12 14:01
URLリンク(www.amazon.com)

Contributing to Eclipseの評価、すげー極端だな。
アンチがカルトだとかの言葉を使うのは2CHのスレを見てるようだ。

33:デフォルトの名無しさん
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:デフォルトの名無しさん
04/04/13 17:15
@ITのEclipse徹底活用でもプラグイン作成解説が始まりました。

第8回 Eclipseプラグインを作る(1)
URLリンク(www.atmarkit.co.jp)

36:デフォルトの名無しさん
04/04/14 03:17
>>33
Eclipseの肝は一貫したUIとリソース管理とそれとうまく結びついてる
IncrementalBuilderとProjectNatureあたりで、
見方によっては、Eclipseって実はD言語のために作られたのか、
と思えるほど、親和性があるのだけど、それをたんなるハイライトで
終らせてるって、もうそのプラグイン作者は完全にやる気ないとしか思えないんだよ。

>>34
それもそうだが、eclipseの肝は上記のものにあるので、Antとは違う領域と思われ

37:
04/04/15 08:06
Eclipseの新バージョンはプラグインの作り方の細部がかなり変わるの?
>>26の本買おうかと思ったけど、古くならないかな?

38:デフォルトの名無しさん
04/04/15 11:57
>37
2.xでのプラグイン作成の手法は大体3.0でも通用するよ。
ある程度互換が取れるように配慮されている。なにが
どう変わったかのガイドも用意されているし。
ただ3.0ではOSGiとかランタイム環境ががらっと変わって
いるからそのあたりを使うなら全然違うとも言える。

39:デフォルトの名無しさん
04/04/15 13:02
>>37

微妙に違うけど、そんなに激しくは変わらない
3.0になっても別に新しいトピックは無い

40:37
04/04/15 15:20
>>38 >>39
どうもありがとう。安心しました。


41:デフォルトの名無しさん
04/04/24 15:19
pascal用がさらに強化されることを祈る。

42:デフォルトの名無しさん
04/05/02 00:18
ツールバーの位置に、コンボボックスを配置できずに困っています。
Cool Barというものを利用すればいろんなコントロールを貼り付けられるという情報を聞いたのですが、イマイチ情報が少なくて。
どなたかご経験がおありなら、ぜひともご教授お願いします。

43:デフォルトの名無しさん
04/05/02 00:49
>>42

スタンドアロンアプリならわからんが、WorkbenchWindowにはムリだろうなぁ

44:デフォルトの名無しさん
04/05/02 01:51
>>42
スタンドアロンアプリで試しましたが確かにComboは
ToolBarには乗らずCoolBarに乗りました。
追試したいなら、CoolBarサンプルソースの
shell.setSize(200, 80);の直前にComboのコードを追加してください。
SWTのサンプルは「SWTサンプル集」と「SWT Tips and Samples」に大量にあります。

CoolBarサンプルソース
URLリンク(amateras.sourceforge.jp)

追加コード
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サンプル集 (移転しています)
URLリンク(amateras.sourceforge.jp)
SWT Tips and Samples
URLリンク(cjasmin.fc2web.com)

>>43
Eclipseツールバーは裸のToolBaでなくCoolBarにToolBarをぶらさげているので
ComboをToolBarをはさまずCoolBarに直接ぶらさげれば良いのですが、
そんなextension pointがあるかどうかが問題ですね。
extension pointに詳しい方どうぞー。

45:デフォルトの名無しさん
04/05/02 02:23
>>44
extension pointって
リファレンス見れ。そんなもんあるわけないだろ

46:44
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:デフォルトの名無しさん
04/05/04 17:19
>>43-46
情報ありがとうございます。
連休あけたら試してみます。

48:デフォルトの名無しさん
04/05/06 20:21
>>46
>>CoolBar coolBar = Workbench.getInstance().getActiveWorkbenchWindow().getCoolBarManager().getControl();

getControl()というメソッドがなく、getItems()というメソッドならありました。
これだとIContributionItemの配列が返ってくるのですが、IContributionItemはCompositeをextendsした型では
ないので、
Comboのコンストラクタで指定できませんでした・・・




49:44
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:デフォルトの名無しさん
04/05/07 11:51
>>49
UIガイドラインを無視しなきゃinternal叩くほどのことはないと思う

51:デフォルトの名無しさん
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:デフォルトの名無しさん
04/05/27 12:25
>>53
IMenuManager.add(IAction action)


55:54
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:デフォルトの名無しさん
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:デフォルトの名無しさん
04/05/29 10:33
>>65
そう易々と作れるもんじゃない
あの大量のAPIを使うことを考えて冷静に見積もってみれ 個人じゃ不可能

67:デフォルトの名無しさん
04/05/29 10:38
>65
D言語用プラグイン
キボンヌ

68:67
04/05/29 10:39
ただハイライトつけるだけのやつじゃダメね
JDTみたく必要なものだけコンパイルしてくれるやつ

69:デフォルトの名無しさん
04/05/29 10:41
>>66
あ、そうなんですか?
僕、趣味感覚で出来るのかなとも思ってました・・・
Javaプログラミング経験も5年あるのでスキル的には問題ないのかなと買いかぶっていました

んじゃあとりあえずSWTのみのスタンドアロンから初めて
その後移植するって言うのが普通の覚え方なんすかねぇ
とりあえず午前中はEclipseヘルプ見ていますが・・・

70:デフォルトの名無しさん
04/05/29 10:44
てか、プラグイン作るっていうのは
みんなが欲しい機能を作るってことだから
そういうのって自分がひらめく前に
誰かがもう作っちゃってるのかなぁ・・・


71:デフォルトの名無しさん
04/05/29 10:56
いや、オレしか要らない機能を作るのだよ。
ラーメン・おふろタイマーでプリセットの時間しか測れないようなものとか。
プリセット増やすには、ソース書き換えてコンパイルで。

72:デフォルトの名無しさん
04/05/29 11:03
いまさらそんんなのつくるんですか?
新しい言語覚えるときでも
そんなの飛ばしますよマジで・・・

73:デフォルトの名無しさん
04/05/29 12:04
>>64
何かビューの中で選択可能なものなら、(ISelectionProviderやIAdapterあたりの関係で)
TableViewerで作ったほうがいいと思うけどね。

74:デフォルトの名無しさん
04/05/30 03:09
>>72
べつに、勉強のために作るわけじゃないからな。
あれば便利なものを作るだけだ。

75:デフォルトの名無しさん
04/05/30 04:05
>>66
確かに易々と作れないが、だからといってツールを作る場合に、
eclipseのリソース管理機能とか土台を再発明することはさらに非現実的。

76:デフォルトの名無しさん
04/05/30 08:40
そういうのは再発明っていわない。
再実装だ。

77:デフォルトの名無しさん
04/05/31 08:10
まあ、どっちにしてもあるもんを使えよって話だな。

78:デフォルトの名無しさん
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:デフォルトの名無しさん
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:デフォルトの名無しさん
04/06/28 13:00
>>81
じゃ、起動オプションを全てruntimeworkbenchにあわせましょう。
起動オプションはオンラインマニュアルのどっかに書いてあります。
ランタイムワークベンチでdetail configurationでも出てきたかな?

83:デフォルトの名無しさん
04/07/10 22:26
よくあるUIプラグインのアイコンフォルダ

icons/full/obj16/nn.gif

とか、このfullっていうのは、どういう意味あるんだ?

84:デフォルトの名無しさん
04/07/14 00:52
Mac版のeclipse3ってどうやって日本語化するんですか?


85:デフォルトの名無しさん
04/07/14 01:01
>>84
翻訳して、xx_ja.properties ファイルを作って、unicodeエスケープして
もとのxx.properties ファイルと同じディレクトリに置く。

86:デフォルトの名無しさん
04/07/19 21:06
>>84
URLリンク(pcweb.mycom.co.jp)

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:デフォルトの名無しさん
04/07/21 21:09
>>87 それ気づいたときにかなり脱力するだろうな...

90:87
04/07/22 14:43
>>89
え?わかるんですか?
教えてください。もう、悩みぬいて、倒れそうです。

91:デフォルトの名無しさん
04/07/22 22:23
よく知らんけど extention じゃないの?

92:デフォルトの名無しさん
04/07/22 23:09
>>91
いくらなんでも違うだろ。

93:デフォルトの名無しさん
04/07/23 10:11
"extensions point" じゃないの?

94:デフォルトの名無しさん
04/07/24 14:33
いや、 Conquerors expanssionだろ

95:デフォルトの名無しさん
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:デフォルトの名無しさん
04/07/31 13:53
多国語パック入れてたら、known bugに引っ掛かっている可能性大。要確認。

99:97
04/08/03 20:34
ご指摘どもです。
LangPack当てずにやってみましたが、状況変わらずです。
作成したウィザードを開こうとすると「Plugin hoge was unable to load class hoge.wizard」と出るので、hogePlugin.classがロードされていないような感じです。
jarにhogePlugin.classが含まれているか、plugin.xmlの指定は正しいか、など気をつけてはいるのですが…。


100:デフォルトの名無しさん
04/08/03 21:53
Error Log viewみた?

101:97
04/08/03 22:27
似た感じのメッセージが出ているようです。
Message:
Plug-in hoge was unable to load class hoge.Wizard
Exception:
org.eclipse.core.internal.boot.Delegating.URLClassLoader$DelegatingLoaderException:
Attempt to load class "hoge.LoadWizard" from deactivated plug-in "hoge"

hogePlugin.classがeclipse起動時に読まれると思うのですが、これができていないのはなぜなんでしょうか。

102:デフォルトの名無しさん
04/08/03 22:39
>>99
PDE + language packのknown bugってのは
>配布zipのエキスポートがうまくいかないので、
こっちの「export時に裏で走るbuildがうまくいかない」ってほうの話。
あなたが手動でパッケージングしたときにうまくいかないのとは別の話だからね。
で、これが原因のエラーもエラーログビューで出ているはずなんだけどな。

>hogePlugin.classがeclipse起動時に読まれると思うのですが、これができていないのはなぜなんでしょうか。
<runtime>の記述とかいろいろありそうだけど、とりあえず
HelloWorldやったときのplugin.xmlを貼り付けてみたら?

103:デフォルトの名無しさん
04/08/03 22:49
大事なこと忘れてた。で、export時にbuild.xmlの生成で
こけるやつは2.1.3ではなおってたはず。

104:デフォルトの名無しさん
04/08/03 23:04
>>101
1.hogePluginってクラス名が不思議。PDEで生成するとHogePluginになるはず。
2.本当にhogePlugin.classが読まれてないのならそのエラーとは別のエラーも
 記録されているはず。

105:97
04/08/03 23:43
>>102
>あなたが手動でパッケージングしたときにうまくいかないのとは別の話だからね。

了解です。export時のエラーメッセージは見忘れていましたが…。

>HelloWorldやったときのplugin.xmlを貼り付けてみたら?

いろいろやってみたのですが…。

む?もしかしてHogePluginクラスの属性に、自作クラスやら、IWorkbenchやらの変数を置くとまずいことが起こりますか?
これを除外すると動いたような気がするんですが。


106:97
04/08/03 23:47
>>104
1.そのとおりです。すんません書き間違い
2.下記のエラーが出るときもあるようです

Message:"" Exception:java.lang.IllegalArgumentException
Message:Unhandled exception caught in event loop.
Message:Problems occurred when invoking code from plug-in: "org.eclipse.ui.workbench" Exception:java.lang.UnsupportedClassVersionError: com/hitachi/itg/rapid21/developer/DeveloperPlugin (Unsupported major.minor version 48.0)


107:デフォルトの名無しさん
04/08/04 00:00
>>105-106
105の後半が本当なら最初の質問にあるパッケージングの
問題じゃないだろう。質問全然切り分けられてないよ。
つーかHelloWorldが動かせないのに自分でコード書いてもだめでしょ。
大体106から読み取れるけどセルフホスティング以外で開発環境と
テスト環境を同じにするなんてのは論外。
#106の例外自体はまた別の話だからおいとくけど。
あなたはもう、2.1.3をクリーンインストールしたのを二つ用意して
それぞれ開発環境とテスト環境にしてHelloWorldのサンプルを動かす
ところからやりなおしたほうが結果的に近道。

108:97
04/08/04 01:02
>>107
仰る通りです。申し訳ない。
環境作り直して出直してきます。

109:デフォルトの名無しさん
04/08/04 21:54
eclipse3.0の公式FAQ本、買ってみた。あえて一般ユーザを
対象読者から外しただけあって、2/3はプラグイン
の作成に必要な内容になってる。なお付属CDには本誌の内容の
プラグイン版も収録されていて実際に読むにはこっちのほうが快適。
3.0のプラグイン作るなら一冊買っておいていい本だと思うけど、
JDTまわりのFAQが極端に少ないのが残念。なお広告つきのWeb版もあり。

110:デフォルトの名無しさん
04/08/06 00:08
>>109
情報ありがとうございます。
検索しやすいように書名は正確にお願いします。

Official Eclipse 3.0 Faq (通販\4020)
URLリンク(www.amazon.co.jp)
Official Eclipse 3.0 Faq Web版
URLリンク(www.eclipsefaq.org)

111:デフォルトの名無しさん
04/08/11 01:57
プラグイン作成でCで書かれたライブラリをJNI経由で呼び出したいのですが、
eclipseでコレをサポートする仕組みみたいなのってありますか?

無いとしても、こうすると便利みたいなテクがありましたら、
是非教えていただきたいです

環境はWindowsです


112:デフォルトの名無しさん
04/08/14 13:00
 プラグインからJNIってWindowsでしか考えてないのならノウハウが
必要なものでもないからなあ。しいていうなら、DLLをロードするとき
プラグインの場所からDLLのフルパスを計算しないといけないくらいで。
 そのうちWindows以外のOS用のも作るなら、いまのうちから各クラス
の実装はプラグインじゃなくフラグメントに入れとけとかあるけど。


113:デフォルトの名無しさん
04/08/24 10:25
org.eclipse.ui.popupMenusを拡張して、viewerContributionで
javaエディタ上のコンテキストメニューに独自メニューを追加しました。

アクションクラスであるIEditorActionDelegateの実装クラスで、
javaエディタに表示されているソースのICompilationUnitオブジェクトを
取得したいのですが、方法がわかりません。

ご存じの方ご教授お願いします。

114:デフォルトの名無しさん
04/08/24 11:15
>>113 やったことないけど、エディタパートから
中身を引っ張る定石としては
getEditorInput().getAdapter(Class class)
かな。適当にIJavaElementとかICompilationUnitのクラス
入れてひっぱってみれば? あと実際のJavaエディタの
実装クラスはCompilationUnitEditorだから
CompilationUnitEditor.getEditorInput()
実行時に返すインスタンスがどのクラスかを調べて
それのgetAdapter()の中を見るほうがはやいかも。

あともしFileEditorInputが返って来てたら
Fileオブジェクトから再度ICompilationUnitの
インスタンスを生成する手もある。

115:113
04/08/24 17:10
>>114さん

おかげさまで、CompilationUnitEditorから
ICompilationUnitを取得できました。
internalなパッケージを使って、ですが。。。

他にもIWorkingCopyManagerなんかからも
ICompilationUnitを取得できました。
こちらも正しい取り方しているかわかりませんが。。。

ところで。もしかして、
>>114さんは
URLリンク(yoichiro.cocolog-nifty.com)
の著者さんですか?

116:デフォルトの名無しさん
04/08/24 17:18
>>115
え、CompilationUnitEditorの名前を出したのはあくまでも
ソース読むのは実装クラスのそこねって意味であって、
実際に自分が書くコードはinternalクラスには依存しなく
てもいいはずだけど。でもうごいてるならべつにいいか。

|>>114さんは
|URLリンク(yoichiro.cocolog-nifty.com)
|の著者さんですか?

違います。

117:113
04/08/24 17:25
>>114さん

すいません、まずはお礼を申し上げます。
ありがとうございました。

internalを使う方法はやっぱりアレなんで、
別の手段でやってみます。

>違います。
あまりにもタイムリーでしたので、勘違いしてしまいました。

118:デフォルトの名無しさん
04/08/24 19:05
タイムリーなのはむしろ113が質問したタイミングだろうな。
IAdaptable.getAdapter()はFAQだし。

119:デフォルトの名無しさん
04/08/30 22:12
Rich Client Platformもこのスレの守備範囲?

120:デフォルトの名無しさん
04/08/30 22:24
ネタ振って反応あれば守備範囲ってことでいいんでね。

121:デフォルトの名無しさん
04/10/05 17:35:53
SWTスレで紹介されていたEclipse関連サイトを転載します。
GEFをこれほど詳しく解説したサイトがあるとは知りませんでした。

ObserveEclipse
URLリンク(www13.plala.or.jp)

122:デフォルトの名無しさん
04/10/06 13:44:27
org.eclipse.jdt.core.dom.MethodInvocationから、このメソッドを修飾しているアノテーションの情報を(例えばorg.eclipse.jdt.core.dom.Annotationのインスタンスなどで)得る方法はあるでしょうか?
org.eclipse.jdt.core.dom.IMethodBinding method = MethodInvocation.resolveMethodBinding()として、このmethodが使えないかと思って調べたのですが見つかりませんでした。
どなたかご存知ですか?

123:122
04/10/06 13:52:21
>>122の環境はWin98SE&Eclipse3.1M2&Java SDK1.5.0です。

124:122
04/10/08 21:44:23
どうもすみません。

Current estimates (still draft) for full JDT/Core support (i.e. compiler, search, codeassist, codeselect, formatting, model, dom ast).
M3(nov05) - generics
M4(dec17) - autoboxing, static imports
M5(feb18) - varargs, enums
M6(apr01) - annotations
URLリンク(bugs.eclipse.org)

ということでEclipse3.1M6以降のバージョンを待つ事にして、それまではリフレクションを使おうと思います。
お騒がせしました。

125:カズヲ
04/11/14 02:57:21
eclipse3.0.1を使っているんですが日本語表示パックをインストールすると
GUIプラグインはインストールできません(反映されない)。
逆にGUIプラグインをインストールした後、
日本語表示パックはインストール(eclipseの画面表示に反映)されませんでした。
LanguageパックとGUIプラグインを双方インストールすることってできないのですか?

インストールパックは以下の通りです。
エクリプス:Eclipse ver.3.0.1
日本語パック:SDK-3.0.x-win32
GUIプラグインインストールのパックは以下の通りです。
Visual Editor ver.1.0
EMF build 2.0.1
GEF Build 3.0.

126:122
04/11/14 10:51:02
>>125
スレ違い
【Java/C/PHP/D/他】統合開発環境Eclipse M15
スレリンク(tech板)

127:デフォルトの名無しさん
04/11/22 15:47:49


128:デフォルトの名無しさん
04/11/23 21:54:31
eclipse3.0で
jakarta-tomcat-5.5.4
プラグインはcom.sysdeo.eclipse.tomcat_3.0.0
設定も特にパスなどは通していますが
tomcat起動ボタンを押下すると下記のメッセージが出現します

This release of Apache Tomcat was packaged to run on J2SE 5.0
or later. It can be run on earlier JVMs by downloading and
installing a compatibility package from the Apache Tomcat
binary download page.

よくわからないのですがEclipse3ではjakarta-tomcat-5.5.4
は未対応なんでしょうか?

129:デフォルトの名無しさん
04/11/23 21:59:01
>>128 スレ違い。だいたい、そのメッセージ、原因から対応法まで
親切に書いてくれていると思うぞ。

130:デフォルトの名無しさん
04/11/23 22:00:57
アパッチ雄ネコのこのリリースはJ2SE 5.0の上で、あるいはその後走るために
パッケージにされました。それは、アパッチの雄ネコの2進法のダウンロード
ページからの互換性パッケージのダウンロードおよびインストールにより、
初期のJVM上で実行することができます。

131:デフォルトの名無しさん
04/11/23 22:17:16
>>128
あとは、TomcatのWebサイト・ドキュメント見れ

132:デフォルトの名無しさん
04/11/24 09:41:25
eclipse version 2.1.2
で、タブや改行を表示する設定はどこでやればよいでしょうか?

133:デフォルトの名無しさん
04/11/24 11:33:17
>>132
タブや改行を表示する必要があるのか?
秀丸などを使っていた人は慣れの問題から表示したがることがあるが
しばらく使っていればそんなものは不要なことに気づくのがよくあるパターン。

134:デフォルトの名無しさん
04/11/24 12:30:43
コーディング規約に空行に空白やタブを残さない。
行末に余分な空白やタブを残さない。
というのがあるので面倒なのです。

135:デフォルトの名無しさん
04/11/24 12:40:24
>>134
フォーマット機能でどうにでもなりそうなものだが?

136:デフォルトの名無しさん
04/11/24 12:48:48
それは何ですか?

137:デフォルトの名無しさん
04/11/24 13:00:39
おまえらスレタイ嫁

138:デフォルトの名無しさん
04/11/24 15:44:06
次のようなプラグインを作ろうと思っていますが、
参考にするために既存のプラグインで似たようなやつを探しています。

作ろうとしてるプラグインの概要:

o 状態遷移表から State パターンのソースコードを出力
o 状態遷移表は GUI で記述できる (Visio ライクな画面)
o 状態の遷移はちょうどアドベンチャーゲームのような感じ
(複数の項目からどれかひとつ、もしくは複数項目を選ぶ。
選んだ項目によって別の状態に遷移)

ひとまず GUI から作ろうと思ってて、
Visio のように状態をあらわす四角を置いて、そいつらを矢印で
くっつけていくようなのをさがしてるんですが。。。どうもみつかりません。

もしどなたかご存知でしたらおしえてください。


139:デフォルトの名無しさん
04/11/24 19:51:20
>>138
GEF

140:デフォルトの名無しさん
04/12/07 23:43:25
質問

RCPで作ってるんだけど
ビューのタブの形を3.0風にしたい。

どうしたらよい?

141:デフォルトの名無しさん
04/12/08 13:01:38
これは読んだ?
URLリンク(yoichiro.cocolog-nifty.com)

142:デフォルトの名無しさん
04/12/08 14:36:26
最近やたらコピー&ペーストがおかしくなる。。。
これってどうすればいいの?

143:デフォルトの名無しさん
04/12/08 15:49:21
レバー&ペーストはうまいよ

144:140
04/12/08 21:21:53
>>141

ここは以前に読んだ。

しかし、どこでviewのタブのタイプを設定するかが
わからない。
or2

145:デフォルトの名無しさん
04/12/08 21:39:17
>>144
RCP FAQに書いてあった。

146:デフォルトの名無しさん
04/12/08 23:19:17
宮川と申します。質問させてください
//-----------------------------------------------------------
環境:
 ●OS⇒WinXPPro-SP2
 ●Eclipse⇒バージョン2系統、3系統全て試したがだめ。
 ●cvs(※)⇒Freebsd(※)
 ●samba(※)⇒でFreeBSDを読み行ってます。
  (※)すいません、ちょっと今会社じゃないのでバージョンわからないです。
//-----------------------------------------------------------
症状:
 ●別名チェックアウトで必ず失敗して、困ってます。
   しかも、エラーが、フォルダを作れませんでした(しかも毎回違うフォルダでこける)
   だったり、ファイルを全部チェックアウトしたと思ったら、
   更新情報を取得できませんでしたったり。
 ●ただ、別名チェックアウトでこけても、latest from headersを選べる場合と、
  選べない(グレーアウト)してるときがあり、
  選べる場合は100%「latest from headers」は成功している
 ●今までもたまにそういう状況においってたが、
   最新表示や、laset from headerなどを繰り返して、なんとかごまかしてきた
 ●しかし、ここ数日、急に数台のマシンで頻発しています
●とはいえ、なんも問題のないマシンもあります。
  (それのバージョンは2.1.0ですが、そのeclipseフォルダをそのまま別のマシンに持ってきても、
  症状変わらず。)

 ここ数日で急にこういう事態になったので、sambaがあやしいんではないかとおもったりもしてるのですが、
 しかし、ぐぐっても、Eclipseとsambaとcvsの組み合わせでのバグが見あたらない。
  ⇒となると、CSVがぶっこわれちゃってる???
//-----------------------------------------------------------
どうなんでしょう?どなたか、解決策や、sambaがらみのbug事例など教えていただければ幸いです。

147:デフォルトの名無しさん
04/12/08 23:25:15
>>146 スレ違い。

eclipseと古いCVSとの組み合わせでは動かないからバージョンは重要。
あとどうしてsambaがこの文脈で出てくるのかよくわからんが、
もしかしてCVSリポジトリをsambaで直接いじるようなことを
やってるんだろうか。だとしたら根本的にCVSの使い方まちがっとる。

どっちにしろちゃんと質問の体裁をまとめなおして、eclipseスレか
cvsスレか適切なスレで質問しなおすように。

148:140
04/12/10 01:02:10
>>145

サンクス、わかったよ。

すごく簡単なことだった。or2

149:デフォルトの名無しさん
04/12/20 00:49:48
evalの使い方がさぱりわかりません。
URLリンク(help.eclipse.org)
Object createObject(void)な関数を実行したいだけなんです。


150:デフォルトの名無しさん
04/12/20 11:11:16
>>149
org.eclipse.jdt.internal.debug.ui.snippeteditor.JavaSnippertEditor.evaluateから
LocalEvaluateEngine.evaluateにいたるまでのソースを読む。

151:デフォルトの名無しさん
04/12/23 14:11:50
推薦図書/必読書のためのスレッド PART 21
スレリンク(tech板:388-番)

↑で挙がってたけど、このプラグイン開発の本もう買った?

152:デフォルトの名無しさん
04/12/25 21:53:50
exeファイルを実行するとエラーが出てしまいます。
自分でもJDKやXMLparserをインストールしたりしたのですが解決出来ません。
解決策を教えて下さい。

!SESSION 12 24, 2004 03:18:00.710 ----------------------------------------------
eclipse.buildId=M200409161125
java.version=1.3.1_01
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=ja_JP

!ENTRY org.eclipse.osgi 12 24, 2004 03:18:00.710
!MESSAGE Error registering XML parser services.
!STACK 0
java.lang.ClassNotFoundException: javax.xml.parsers.SAXParserFactory
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
・・・

!ENTRY org.eclipse.osgi 12 24, 2004 03:18:01.40
!MESSAGE Bundle initial@reference:file:c:/Program Files/eclipse/plugins/org.eclipse.core.runtime_3.0.1/ [1] was not resolved.

■環境
Windows98SE,JRE1.1.7&1.2.2&1.4.1,JDK1.2.2&1.4.1,xmlsdk.msi
※WindowsXP HomeEditonでは問題無くインストールと実行は可能でした。

153:デフォルトの名無しさん
04/12/26 00:15:19
>>152 スレ違い。どういうスレか確認してから書き込むこと。
あと、
>eclipse.buildId=M200409161125
>java.version=1.3.1_01
ソフトをインストールするときには動作環境を確認してから
インストールすること。つーかさ、
>JRE1.1.7&1.2.2&1.4.1,JDK1.2.2&1.4.1,
自分で複数の環境をインストールしているのに、どれが使われているか
チェックしないってのは間抜けすぎ。

154:152
04/12/26 16:29:20
>>153
スレ違い失礼しました。
ただ、実装済みのJDK及びJREと、ログで示されているjava.versionが、
異なっている原因がイマイチよく分からないのですが・・・。

155:デフォルトの名無しさん
04/12/26 16:53:18
スレ違いって言われてるんだから場所かえるくらいの知性は働かせようぜ。

156:152
04/12/26 18:19:38
スレを変えて質問すると、マルチだなんだと言われますから。
何にしろ立ち去ります。どうも。

157:デフォルトの名無しさん
04/12/26 18:25:15
>>156
○○から誘導されてきました、と一言添えればOKじゃない?

158:デフォルトの名無しさん
05/01/02 13:25:58
>>151
買った。超わかりやすい。
サンプルも3.0系に直したものが訳者のHPからDLできる。

159:デフォルトの名無しさん
05/01/02 22:52:29
>>151
The Eclipse Seriesと呼ばれる人気シリーズがあり、その中に
Contributing to Eclipse: Principles, Patterns, and Plug-Insがあります。

The Eclipse Series
URLリンク(www.awprofessional.com)
Contributing to Eclipse: Principles, Patterns, and Plug-Ins
URLリンク(www.amazon.co.jp)
URLリンク(www.awprofessional.com)
Download the archive (ZIP, 170K) (Eclipse2.1用)
URLリンク(www.awprofessional.com)

これを翻訳したのがEclipseプラグイン開発です。

Eclipseプラグイン開発
URLリンク(www.amazon.co.jp)
URLリンク(store.sbpnet.jp)
訳者サポートページ
URLリンク(www.asahi-net.or.jp)
サンプルコード (Eclipse3.0用)
URLリンク(www.asahi-net.or.jp)
URLリンク(www.asahi-net.or.jp)
URLリンク(www.asahi-net.or.jp)
URLリンク(www.asahi-net.or.jp)
URLリンク(www.asahi-net.or.jp)

160:デフォルトの名無しさん
05/01/02 22:53:43
●The Eclipse Series
URLリンク(www.awprofessional.com)
1: Eclipse Modeling Framework: A Developer's Guide
URLリンク(www.amazon.co.jp)
2: Contributing to Eclipse: Principles, Patterns, and Plug-Ins
URLリンク(www.amazon.co.jp)
2: Eclipseプラグイン開発 (和訳)
URLリンク(www.amazon.co.jp)
3: Eclipse: Building Commercial Quality Plug-ins
URLリンク(www.amazon.co.jp)
3: SEclipse: Building Commercial Quality Plug-ins (Web)
URLリンク(www.qualityeclipse.com)
4: Swt: The Standard Widget Toolkit
URLリンク(www.amazon.co.jp)
5: Official Eclipse 3.0 Faq
URLリンク(www.amazon.co.jp)
5: Official Eclipse 3.0 Faq (Web)
URLリンク(www.eclipsefaq.org)
6: Eclipse AspectJ: AOP with AspectJ and the Eclipse AJDT
URLリンク(www.amazon.co.jp)

●その他
7: The Java Developer's Guide to Eclipse
URLリンク(www.amazon.co.jp)
7: Java開発者のためのEclipseエキスパートガイド (和訳)
URLリンク(www.amazon.co.jp)
8: Eclipse Development using Graphical Editing Framework and Eclipse Modeling Framework
URLリンク(www.redbooks.ibm.com)
8: Eclipse Development using Graphical Editing Framework and Eclipse Modeling Framework (Web)
URLリンク(www.redbooks.ibm.com)
8: Eclipse Development using Graphical Editing Framework and Eclipse Modeling Framework (PDF)
URLリンク(www.redbooks.ibm.com)

161:589
05/01/11 14:04:27
今、作っているプラグインから、コンパイルを行ないたいのですが、
どうすればよいでしょうか?

162:デフォルトの名無しさん
05/01/11 23:56:12
>>161 JDTのマニュアルに書いてある。

163:デフォルトの名無しさん
05/01/16 15:48:03
cdtを使っているんですが,
改行した時の自動インデントをTabではなく空白にする方法はありますか?

164:デフォルトの名無しさん
05/01/19 16:47:30
age

165:デフォルトの名無しさん
05/01/22 21:15:34
URLリンク(eclipsefaq.org)
が新装開店してた。元々Official Eclipse 3.0 FAQsのサンプルの
ひとつで、plugin.xmlとJavaコードをごちゃまぜにしたようなスクリプトを
元にプラグインを生成するやつ。ちょっと前の話だとOSGiの機能を生かして
ワークベンチの再起動なしでスクリプトの登録・実行ができるようにしたい
とかいってたけど、そこまで実装すすんだんだろうか。

166:161
05/01/24 15:40:15
>>162さん
遅くなりましたが、レスありがとうございます。
マニュアル見直したら、確かにありました。

それを見て、何とか、コンパイルはできるようになりましたが、
あるプロジェクトが、存在するかどうかを調べたいんですが、
どうすれば出来ますか?

167:デフォルトの名無しさん
05/01/24 20:32:57
>>166 オンラインマニュアルのリソースのとこに書いてある。
重要なのはワークスペースの中のものはプロジェクトでもファイルでも
全て仮想的な空間に存在し、それへのアクセスはリソースAPIによってのみ
行わなければならないこと。例えばfooProjectという名前のプロジェクト
の存在を確認するのに、パスがeclipse/workspace/fooProjectであるだろう
と勝手に仮定してjava.io.File#exists()を使って調べるようなことは
してはいけない。必ずしも全てのプロジェクトがファイルシステム上で
workspaceの下にあるわけじゃないから。

168:161
05/01/25 12:24:28
>>167レスありがとうございます。参考にさせていただきます

169:デフォルトの名無しさん
05/01/31 14:41:11
Javaリソースの生成について解説しているサイトとかあります?

170:169
05/02/03 16:19:01
自己解決しました。板汚しすみませんでした。


171:デフォルトの名無しさん
05/02/03 18:42:48
>>170
自己解決したのはいいけど、よかったら書いておいてもらえると
他の人のためになるのではないかと。

172:デフォルトの名無しさん
05/02/03 19:59:56
>>171
オンラインマニュアル読めばわかるレベルの話だから別にいい
んじゃない?
ちなみにわからなければ>>151でリンク貼ってる本読むと実例
挙がってる。

173:172
05/02/03 20:03:52
すまん、dat落ちしてるのか。えと、エリック ガンマとケント ベックが
共著のEclipseプラグイン開発とかいう本。あとOfficial eclipse 3.0 FAQs
って本にものってる。こっちのほうは上のほうに誰かがWeb版にリンク貼ってるから
そっちみてもいい。でもこの二冊は買っておいたほうがいいね。

174:デフォルトの名無しさん
05/02/05 19:46:48
ビューのウィンドウを最小化する方法について、誰か知りませんか?

175:デフォルトの名無しさん
05/02/05 19:49:45
最小化ボタン押す。

176:デフォルトの名無しさん
05/02/10 19:00:02
自分のPG内でディレクトリを指定してNavigetorを開くのは、どうやったらできますか?

177:デフォルトの名無しさん
05/02/10 19:00:59
↑ Navigatorの間違い

178:デフォルトの名無しさん
05/02/10 20:12:01
>>176 findView()かshowView()でナビゲータを取得したら、
そこからさらにTreeViewerを取得。あとは煮るなり焼くなり。

179:デフォルトの名無しさん
05/02/10 20:16:21
>>178
ありがとうございます。
findView()、showView()とはどこのメソッドなんですか?

180:デフォルトの名無しさん
05/02/10 20:34:24
>>179
スイマセン、自己レスです。
どこのメソッドだかは分かりました。

181:デフォルトの名無しさん
05/02/11 07:50:53
Visual Editorにて独自のカスタムWidgetを編集可能に
するためのプラグインを追加しました。
しかし、Widgetを張り付けると白くなります。
実行時は間題なく表示されます。何が悪いのでしょうか?
実装した拡張ポイントは2つです
org.eclipse.jem.beaninfo.registrations
org.eclipse.ve.java.core.contributors

182:デフォルトの名無しさん
05/02/12 20:33:49
>>181
それ、パレットに登録するしないの問題以前に、そもそも
パレットの「Beanの選択」を使って設計ビューに貼り付け
たときにはウィジットの描画は行われるの?

183:181
05/02/13 00:15:38
再描画されません。
再描画するにはどうすればよいのでしょうか?


184:デフォルトの名無しさん
05/02/13 00:22:13
逆に再描画されないほうが不思議なんだけど。ソース貼っちゃったら?
つーかSWTかSwingかも書いてないし。

185:181
05/02/13 00:28:35
SWTです。
どの辺のソースを貼ればいいんでしょうか?
とりあえずplugin.xmlを貼ります。

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
id="org.xxx.ve.swtex"
name="プラグイン"
version="1.0.0"
provider-name=""
class="org.xxx.ve.internal.swt.SwtPlugin">

<runtime>
<library name="ve_swtex.jar">
<export name="*"/>
<packages prefixes="org.xxx.ve.internal.swt,org.xxx.jem.internal"/>
</library>
</runtime>

<requires>
省略
</requires>


186:181
05/02/13 00:30:37

<extension point="org.eclipse.jem.proxy.contributors">
<contributor
container="SWT_CONTAINER"
class="org.xxx.ve.internal.swt.SWTConfigurationContributor"
plugin="org.xxx.swtex">
</contributor>
</extension>
<extension point="org.eclipse.jem.beaninfo.registrations">
<registration container="SWT_CONTAINER" plugin="org.xxx.swtex">
<beaninfo path="vm/swtexbeaninfo.jar">
<searchpath package="org.xxx.swtex.widgets.beaninfo">
</searchpath>
</beaninfo>
<override package="org.xxx.swtex.widgets" path="overrides/org/xxx/swtex/widgets">
</override>
</registration>
</extension>
<extension point="org.eclipse.ve.java.core.contributors">
<palette container="SWT_CONTAINER" categories="swtpalette.xmi" plugin="org.xxx.swtex">
</palette>
</extension>
</plugin>

187:デフォルトの名無しさん
05/02/13 00:33:10
んー、プラグインの問題じゃないのにplugin.xml貼っても
意味ないでしょう? そうじゃなくて問題を確認する最小限
の機能を持つウィジットのソースをよろしく。

188:181
05/02/13 00:33:33
自作のwidgetsはひたすらDelegateしただけです。
public ButtonEx(Composite parent, int style) {
super(parent, style);
// TODO Auto-generated constructor stub
button = new Button(parent, style);
}

private Button button;

/* (non-Javadoc)
* @see org.eclipse.swt.widgets.Control#addControlListener(org.eclipse.swt.events.ControlListener)
*/
public void addControlListener(ControlListener listener) {
button.addControlListener(listener);
}
/* (non-Javadoc)
* @see org.eclipse.swt.widgets.Widget#addDisposeListener(org.eclipse.swt.events.DisposeListener)
*/
public void addDisposeListener(DisposeListener listener) {
button.addDisposeListener(listener);
}
省略

189:デフォルトの名無しさん
05/02/13 00:35:33
それなにを継承した?

190:181
05/02/13 00:36:49
Compositeです。

191:デフォルトの名無しさん
05/02/13 00:45:20
なんか断片だけでよくわからない。
とりあえず、そのソース刈り込んでいって現象(再描画されないこと)を
確認するのに必要最小限なものだけにしていったら?
#普通はこの作業だけで自己解決するもんだけどね。

ちなみにうちだと、適当にVEが生成した
public class TestComposite extends Composite {
 private Button button = null;
 public TestComposite(Composite parent, int style) {
  super(parent, style);
  initialize();
 }

 private void initialize() {
  button = new Button(this, SWT.NONE);
  
  button.setBounds(new org.eclipse.swt.graphics.Rectangle(51,40,71,22));
  button.setText("Test");
  setSize(new org.eclipse.swt.graphics.Point(300,200));
 }
}
みたいなやつを貼り付けてもちゃんと再描画する。

192:181
05/02/13 00:53:38
ありがとう。いろいろ試してみます。

193:デフォルトの名無しさん
05/02/13 01:02:44
>>188
VEは触ったことないが,styleをsuperとButtonの両方に丸投げしてるのは
SWT的に明らかにおかしい.

194:デフォルトの名無しさん
05/02/14 20:26:42
>>176で「自分のPG内でディレクトリを指定してNavigatorを開くのは、どうやったらできますか? 」
と聞いた者です。
>>178さんが教えてくれた方法でTreeViewerは取得できたのですが、そこから先の調査をしてて止まってしまいました・・

そもそもナビゲータではできないんでしょうか?

195:デフォルトの名無しさん
05/02/15 11:53:40
ナビゲータからselectRevealするなり
TreeViewerからsetSelectionするなり
やりようはいくつもあるのになんで
できないなんて話になるんだろ。
APIリファレンス読んでる?

196:デフォルトの名無しさん
05/02/16 01:13:23
Omondoでgif出力したら文字化けしたんだけど、これの解決策はある?

197:デフォルトの名無しさん
05/02/20 15:01:13
Omondoは前から2byte文字をあんまり考慮してないな。
かなり前は、jarを解凍して.propertiesからフォント定義を探し出して
日本語フォントに書き直してから再jarしてた。
今でもこの方法が通用するかはワカランが。

198:デフォルトの名無しさん
05/02/23 01:12:24
Java Spiderプラグインをダウンロードしたいんだが、公式サイトのどこから落とせるのか知ってる?
URLリンク(www.javaspider.org)

199:デフォルトの名無しさん
05/02/23 01:42:29
へ? Java SpiderってSourceForgeのプロジェクトだけど?

200:デフォルトの名無しさん
05/02/23 02:09:38
確かにSourceForgeのプロジェクトにあった・・・ URLリンク(sourceforge.net)
ありがとう。

Erich Gamma著のEclipseプラグイン開発には、
SpiderはURLリンク(www.javaspider.org) からダウンロードできる・・・
って書いてあったんだが。


201:デフォルトの名無しさん
05/02/23 22:36:58
EclipseRCPで開発してます。
質問です。

ボタンを押すなどのアクションによってパースペクティブのレイアウト
を変えたり、ビューを閉じたり、開いたりすることは可能でしょうか?
ビューを開く際はタブを増やすのではなく、開いてるタブを閉じてから
開くようにしたいのですが。

202:デフォルトの名無しさん
05/02/27 19:01:29
WEB+DB PRESS Vol.24の記事が公開されていました。

Eclipse RCP によるリッチクライアント開発入門
URLリンク(www.mamezou.com)

203:デフォルトの名無しさん
05/02/28 21:01:53
FTP & Web サポートってあるじゃないですか?
あれって、Eclipse 3.0.1だと、「チーム」から「Target Site」ってでてこないんだけど 3.0.1はサポート使えんの?

204:デフォルトの名無しさん
05/02/28 21:07:30
>>203 使える。あとスレ違い。

205:デフォルトの名無しさん
05/03/02 18:15:34
質問です。

プラグインのパスを取得して、その中にあるjarファイルをビルド・パスに追加したいんですけど、どうすればよいですか?

206:デフォルトの名無しさん
05/03/02 20:18:32
>>205 パスを取得したいプラグインが自分で作ったものかどうかで
話は違ってくるね。

207:デフォルトの名無しさん
05/03/02 20:19:30
あ、あと新たにさらにプラグインを自分で作るつもりかどうかでも
違ってくる。

208:205
05/03/02 21:02:09
自作のプラグインです。というか、今作っているプラグインです。
自分のパスを取得して、同梱したjarをビルド・パスに追加したいんです。

209:デフォルトの名無しさん
05/03/02 21:21:19
>>208 コンテナを登録する拡張ポイントがあるから、
それでそのjarを登録する。あとはユーザにそのコンテナを
自分のプロジェクトに追加させるか、「新規作成」のウィザード
であらかじめコンテナを登録済みのプロジェクトを生成するか
させればよい。

とおもったが、質問が二通りに解釈できる気がするので一応確認すると、
ビルドパスを追加する対象のプロジェクトは、プラグインをインストールした
ユーザのワークスペース内の任意のプロジェクトだよね?

210:205
05/03/02 22:02:19
というか、プラグインでボタンを追加して、それを押すと、ビルド・パスを追加した状態のプロジェクトを生成するってことをやりたいんです。

211:デフォルトの名無しさん
05/03/02 22:12:48
>>210 じゃ209で書いた感じでおーけー。
クラスパス変数を定義する手もあるけど、後々の拡張のことを考えたら
コンテナ作っておいたほうがいいね。
ただ新規作成するボタンを押させるのはEclipseの標準的なインター
フェースとはなじまないから、ウィザードを拡張したほうがいいかと。
どっちにしろJDTとPlatformのマニュアルを参照のこと。

212:205
05/03/02 22:21:18
>>211
ありがとうございました。頑張ってみます。

213:205
05/03/03 06:33:05
すみません。あの後、頑張ってみたのですがプラグインのパスの取得がわかりません。どうすれば出来るでしょうか?

214:デフォルトの名無しさん
05/03/03 07:51:20
>>213 バージョンによって違う。2.xならIPluginDescriptorから。
URLリンク(help.eclipse.org)()
3.xならbundleから。↑に書いてある。

215:205
05/03/03 07:52:45
ありがとうございます。

216:デフォルトの名無しさん
05/03/04 21:32:23
お世話さまです。
ツリービューのノードのアイコンのラベル装飾をやっています。
ノードが IProject など IResouce 管理下のものの場合のラベル装飾は、ヘルプやサイト等の情報で比較的に簡単にできました。
(拡張 org.eclipse.ui.decorators にて必要事項を記述する)
しかし、自作のクラスのオブジェクトをノードにした場合、同様の手立てでは装飾されません。

非宣言型ライト・ウェイト・デコレータの方法で実装を試みています
上記の拡張にて、adaptable を falseに、objectClass を自作のクラスの完全修飾名にすればいけそうに思えたのですが、ダメでした。
どなたか同じような経験をお持ちの方がいましたら、よろしくお願いしますm(_ _)m

217:デフォルトの名無しさん
05/03/04 21:42:17
>>216

メーリングリストで、もう少し詳細教えてよ

218:デフォルトの名無しさん
05/03/04 22:48:44
>>217
メーリングリストとは、eclipseの?
利用してないからよく知らないのですが・・

219:デフォルトの名無しさん
05/03/09 22:40:24
>>216です。
入念な調査のうえ解決しました。

装飾対象のツリービューのラベルプロバイダが、DecoratingLabelProviderなど、
IViewerLabelProviderを実装したクラスでないと、ライトウェイトデコレータの機構は利用できないようです。

220:デフォルトの名無しさん
05/03/10 22:48:01
プラグイン中でImageやColorを新規作成したら、
どこで破棄すればいいの?

プラグインの作成時にcreatePartControlが呼ばれるのは理解できるんだが、
破棄のとき呼ばれるメソッドがないから、さっぱりわからん・・・

221:デフォルトの名無しさん
05/03/10 23:12:14
>>220 使い終わったら破棄すればいいよ。見通しのいい短いスコープだったら
その最後でdispose()すればいい。ViewPartの生存中、ずっと保持する必要が
あるんだったら、WorkbenchPart#createPartControlやEditorPart#init()で生成して、
WorkbenchPart#dispose()で破棄でもいい。ただcreatePartControl()
が一度も呼ばれていない状態でもdispose()が呼ばれることがあるのには注意。

最後はsleakっていうSWTリソースのリークをモニタするツールで抜けがないかチェック。

222:デフォルトの名無しさん
05/03/20 14:43:56
>>221 dispose()メソッドなんてあるのね。さんくす。
他にImageRegistoryとかDisposeListenerとか、いろいろやりかたがあるみたい。


223:デフォルトの名無しさん
05/03/20 14:52:23
複数のビューで同じImageを使いたい場合、いったいどこでImageを
呼び出したらよいのでしょう・・・

たとえば一つのビューで画像を編集したら、もう一方のビューで
編集が反映されるといったことをやりたい。

224:デフォルトの名無しさん
05/03/20 22:01:13
>>223
お好きなように。ContentProviderみたいな仕組み使ってもいいし、
addHogehoge/fireHogehogeみたいな仕組みを自分で作ってもいいし。

225:デフォルトの名無しさん
05/03/24 02:38:34
あかん、ContentProviderでいくつか調べたけど、
どのオブジェクトで定義してて、どのオブジェクトで管理してるんか
理解できひん。

自分はドットエディタみたいなのを作りたいです。
View1で全体の画面を表示して、View2でその一部を拡大、
編集します。編集するとView1に反映します。

でも、View2からView1の画像を取得したり、再描画のために
Viewそのものを取得したりする方法がわかりません。

もしかしたら、複数のビューを統括する親オブジェクト(ワークスペース?)
が、あるのでしょうか。

なにか調べるきっかけのようなものでもあれば、教えて

226:デフォルトの名無しさん
05/03/24 09:28:55
PlatformUI.getWorkbench()
 + getActiveWorkbenchWindow() 現在のワークベンチウインドウ
  + getActivePage() -> ウインドウのページ (ページ != パースペクティブ? この概念がいまいち不明・・・)
   + getActiveEditor()
   + getActivePart() (ビューなど)
   + etc...

ヘルプ見ればもっと詳しく書いてあったはず

227:デフォルトの名無しさん
05/03/24 09:34:27
>>225
とりあえずView2にsetParentView()みたいなメソッドを定義して、
ワークベンチからshowViewやfindViewでview2を開いた後view1へ
の参照を渡しておけばいいんじゃないの? 本当はオブザーバーパターン
使ったほうが後々楽だと思うけどね。
あとPlatformUIのAPIリファレンスからいろいろメソッド
たどって概要をつかむことをすすめるよ。

228:デフォルトの名無しさん
05/03/29 09:07:08
ワークベンチとかワークベンチウィンドウとかいうのが
統括してんのね。ちょっとわかりかけたかも。
みんなありがとなー

229:デフォルトの名無しさん
05/04/06 11:16:20
なかなか良いツートリアルがありましたよ
URLリンク(www.eclipsecon.org)

3.1系対応という事で、3.0系より少し拡張されてるようだけど
基本的な概念は同じなので参考にしてみては

230:デフォルトの名無しさん
05/04/06 14:40:18
チュートリアルといえば、eclipse.orgにはその手の教育用リソース
をつくるサブプロジェクトがあるけど、和訳されていないせいか
ほとんど話題にならないな。

231:デフォルトの名無しさん
05/04/09 18:57:43
lombozってなんて読むの?

232:デフォルトの名無しさん
05/04/09 18:59:03
ろむぼっつかな?

233:デフォルトの名無しさん
05/04/09 22:07:08
漏れの脳内では「ろんばづ」

234:デフォルトの名無しさん
05/04/10 02:12:58
>>231
URLリンク(www.eclipsewiki.net)
の途中にそのネタはあるな。

俺は「ロンボス」に一票。「ロンボズ」かも知れんが、語源があるかどうかもわからん。

235:デフォルトの名無しさん
05/04/17 07:06:18
png等の透明色指定する方法誰かわかりませんか?

236:ero 61-26-185-190.rev.home.ne.jp/
05/04/17 07:16:35
         ぉ         k w  う       w                
   っしと      ハ             う    w                 
  け            は    w w     っ                    
 ぇ    る    ァ  う  wお      ぇ    w                  
え       の ハ  ァ  w          ぇ                     
     

237:デフォルトの名無しさん
05/04/18 09:16:54
>>235
誤爆か?
CG板で聞いたほうがいいぞ。

238:デフォルトの名無しさん
05/04/19 22:56:54
eclipseみたいなプラグイン機構を持つアプリ作りたいんだけど
どうやんの?
土台があって、あとはプラグインをぽんぽんってかんじぃ。

239:デフォルトの名無しさん
05/04/19 23:54:00
>>238 マジレスだとURLClassLoaderを使ったクラスのロードを覚えろって
話になるが、スレ的にはIPlatformRunnableを実装しろって話になるな。
後々のことまで考えると後者をすすめる。

でも個人的にはOscarとか使ってみたい気もする。

240:デフォルトの名無しさん
05/04/20 16:21:56
すいません、Junitでprivateのテストを行おうとしているのですが、
ブレイクし、ステップインしていくと
「ソースファイルが見つかりません。
JARファイルjunit.jarにソース添付がありません。
・・・・」
と表示されるのですが、回避方法を教えていただけませんか?」
すれ違いでしたら、申し訳ございません

241:デフォルトの名無しさん
05/04/20 16:50:56
確かにスレ違いだ。
jarに対応するバージョンのjunitのソースをattach.

242:デフォルトの名無しさん
05/04/25 18:18:28
RCPでいろいろ試してるんですが、知ってる人がいたら教えてください。
こいつらで頭を悩ませてます。
get/savePluginPreferences()
get/saveDialogSettings()
get/savePreferenceStore()

PreferencePageではIPreferenceStoreを使うようになっているのに、savePreferenceStore()は3.0からdeprecatedなのですが
これはPluginPreferencesに格納しなおして保存しろという事なんでしょうか?
また、DialogSettingsもAPIで保存可能ですが、PluginPreferencesとの使い分けがよくわかりません。
「これ読め」 でもいいので、何かヒントありませんか?

243:デフォルトの名無しさん
05/04/25 21:23:53
>>242 AbstractUIPluginのリファレンスの冒頭部分が一番親切で
手取り足取り書いてあると思う。

244:242
05/04/26 09:38:53
>>243
どうもです。 javadoc読んでみました。
この辺は3.0から現在進行形でリファクタリング中っぽいですね。
PreferenceStoreはJFaceのためにあるもので、coreRuntime的には
PluginPreferencesを使え、って感じでしょうか。
DialogSettingsとの使い分けはちょっとまだ理解できません。
news://news.eclipse.org/eclipse.platform と news://news.eclipse.org/eclipse.platform.rcp も読んでるんですが
未だ決定的な回答が出てませんね。 (読めてないだけですか orz)
ヘタに両方使うと管理が面倒なんでやめようかな。
PreferencePageとの使用の違いを、現実的にどう解決するかは書いてないので
とりあえずPlatformをデバッガで追ってみます。

245:デフォルトの名無しさん
05/04/26 10:55:56
なんでそんな難しく考えるのかなあ.
Pluginが持っている「設定」ページの情報はgetPluginPreferencesStoreで
取得できる場所に保管してあるってだけだよね.そうすれば
自分でいろいろ管理しなくてもFieldEditorとか使う限りは
何もしなくてもいいし,自分でウィジットつかってUI作ったときは
上述のメソッドで取得したインスタンスにデータを放り込めってことでしょ.

で,汎用的なダイアログとかウィザードとかの設定は
DialogSetting使えと.

あとOfficialEclipseFAQs 3.0とか定番FAQは読んだ?
Webでもお試し版が読めるけど,書籍のCDROMにプラグイン版
が入ってるから買っちゃったほうがいいね.

246:242
05/04/26 12:34:07
すんません。 大ボケをかましておりました。 逝ってきます。 orz

自分のとこだと、PreferenceStoreに入れたはずの設定が保管されないので
プラグインのstop()でsavePreferenceStore()してみたら、内部的にsavePluginPreferencesを呼んでたので
PluginPreferencesに入れなおさないとダメなんか~ と思ってました。
で、ふと思い出して確認すると、実行時にワークスペースをクリアしてました・・・ orz

ダイアログやウィザードの設定、って今のところ保存したいような物は作ってないので
現段階では俺にDialogSettingsは必要無い、ってことですね。 これですっきりしました。

OfficialEclipseFAQのWeb版は読んだんですが、やっぱ書籍が欲しいですね。 買ってみます。
ありがとうございました。

247:デフォルトの名無しさん
05/05/15 16:37:15
メインのエディタ部分の上部タブを切り替えたときのイベントってどのように拾えばいいのでしょうか?
composite.getParent()
composite.getParent().getParent()
composite.getParent().getParent().getParent()
上の三つに対してあらゆるListenerをaddしてみたのですが
拾えませんでした

メインのエディタ部分の上部タブを切り替えるって言うことは
他のプラグインの動作にもかかわるので、出来ないようになっているのでしょうか?

248:デフォルトの名無しさん
05/05/15 20:50:06
>>247 そうやってMVCでいうところのビューの一番下の層である
SWT層で解決するのは間違っているけど、とりあえず質問に答えるならば
あのタブの部分はSWT層ではCTabFolderで実装されているので
editor内のcompositeの直系の祖先だけ調べても駄目。それぞれの祖先の
兄弟にCTabFolderがいるか調べないと。
public void printControlNameTree(Control control) {
if (control == null)
return;
System.err.println(control);
if (control instanceof Composite) {
Composite composite = (Composite) control;
Control[] controls = composite.getChildren();
for (int i = 0; i < controls.length; i++) {
Control control2 = controls[i];
System.err.println("\t" + control2);
if (control2 instanceof CTabFolder) {
CTabFolder folder = (CTabFolder) control2;
CTabItem[] items = folder.getItems();
for (int j = 0; j < items.length; j++) {
CTabItem item = items[j];
System.err.println("\t\t" + item);
}
}
}
}
printControlNameTree(control.getParent());
}
こんな感じのメソッドにcompositeを渡して調べてごらん。
あとはCTabFolderのAPIリファレンス見れ。

249:デフォルトの名無しさん
05/05/16 12:09:11
ああ,べつにSWTにこだわってるわけでもないのね,ごめん.
ならIWorkbenchPage#addPartListenerで各Partに関する
イベントが取得できる。ただし,WorkbenchPageはワークベンチ
ウィンドウを新しく生成したりするとこちらも動的に生成される.
いちどリスナを登録した後でWindow->New Window...したら
新しいウィンドウのほうでイベントがとれないとかそういう
ことがないよう気を付けること。

250:デフォルトの名無しさん
05/05/17 20:18:46
あまねく【遍く・普く】
[意]ひろく。
[例]あまねく天下に名が通っている。

251:デフォルトの名無しさん
05/05/18 00:26:06
見事な誤爆

252:デフォルトの名無しさん
05/05/20 23:36:44
JSFプラグインの開発止まっているのかなぁ・・・
おれ・・作っちゃうよほんとにつーかできているんだが
出し方を考えている
儲かるならそのほうがいいし 

253:デフォルトの名無しさん
05/05/24 23:33:42
ファイルの読み書きをしないエディタってどうやるんでしょうか?

254:デフォルトの名無しさん
05/05/24 23:38:34
それはエディタじゃない

255:デフォルトの名無しさん
05/05/25 00:12:09
>>253 基本的な作り方はファイルに対するエディタと同じ。ただ、
編集したい何かを読むためのIEditorInputを実装したクラス
と、そのクラスを使って何かを読み込むIEditorPartを実装した
エディタクラスを実装する必要がある。

ファイルの場合は、FileEditorInputがあらかじめ用意されていて、
それを扱えるエディタクラスがいくつも用意されているから自分で
用意する必要がないだけで、基本的な構造は同じ。

256:デフォルトの名無しさん
05/05/25 09:44:51
>>253-254
ヒント:チラシの裏

257:デフォルトの名無しさん
05/05/25 21:57:04
>>253
俺もオブジェクトにIEditorInputを実装して
エディタで編集してDBを読み書きさせてるが、正直かなり面倒。
そのエディタを作るのもかなり面倒。

IResourceとか、もっと抽象化してファイルの概念から離れればいいのにねー。


258:デフォルトの名無しさん
05/05/26 11:34:28
とりあえず、ちらしの裏にでも書いてろ。な?

URLリンク(yuukiremix.s33.xrea.com)


259:デフォルトの名無しさん
05/05/26 14:03:04
これはjavaで動いているのですか?

260:253
05/05/26 22:50:45
>>255
>>257

ありがとうございます。
やりたいのはDBの読み書きなのですが
ファイルを読み書きしないので、どのようにして
エディタを立ち上げてよいかわからないのです。

261:デフォルトの名無しさん
05/05/26 22:56:44
>>260
それはエディタプラグインではなくビュープラグインとかにすれば?

262:デフォルトの名無しさん
05/05/26 23:27:52
>>260 まあビューでいい気もするけど、エディタでやるなら
IWorkbenchPage#openEditorするアクションでも作ったら?

263:257
05/05/26 23:38:31
>>260
エディタだと拡張子での関連付けになるからねー。
一旦ローカルにファイルとして保存して、
最後にDBに書き出す方法も考えたけども
ロックとか競合の処理が面倒なんでやめた。

今のところ、openEditorするアクション作って開いてる。

始めはビューにしてたんだけど、isDirtyとか保存の処理を考えると
エディタの方が使いやすい気がする。 しかし作るのは面倒な罠。

264:デフォルトの名無しさん
05/05/26 23:42:16
ただのエディタ作るのそんな面倒かなあ。単にエディタの構成を
しらないだけで下調べとかで時間とってるだけなんじゃないの?

265:
05/05/26 23:47:41
262のいうとおり適当なIEditorInputを実装したクラスを作ってそれとエディタのIDを指定してIWorkbenchPage#openEditorを呼び出せばいいのでは。


266:257
05/05/27 01:10:36
>>264
テキストエディタじゃなくて、フォームエディタなんです。
で、複数のページにGUI部品を配置してエンヤコラ、と。
PDEのplugin.xmlエディタみたいな感じですね。
やってみると結構手間ですよ。

267:デフォルトの名無しさん
05/05/27 08:36:53
>>266
それはエディタだからとかビューだからって観点とは
外れているよね。同じことをビューでやったら楽になる
わけではないし。ちなみにフォーム自体のコードは
「俺は」見通しよくて好き。

268:デフォルトの名無しさん
05/05/28 00:30:24
>>257
>PDEのplugin.xmlエディタみたいな感じですね。
それってマルチページエディタとかいうやつか?

269:デフォルトの名無しさん
05/05/28 00:45:32
>>268
だね。
つーかマルチページでないフォームエディタが欲しい。
1ページしか使わないのに、下にタブがあると邪魔なので。

270:デフォルトの名無しさん
05/05/30 15:40:46
internalAPI使うと警告出るようになったね。

271:デフォルトの名無しさん
05/05/30 20:35:20
eclipseのソースみながらFormEditor実装しようとしてるがワカンネ

272:デフォルトの名無しさん
05/05/31 02:02:22
すごい基本的な質問かもしれないけど、GEFの画像データをGIFやBMPに出力する方法ってある?

273:デフォルトの名無しさん
05/05/31 23:19:00
>>272
ImageからGCを生成して、paint(GC gc)でImageに書き込み、
ImageLoaderでファイル出力じゃ駄目かな。

274:デフォルトの名無しさん
05/06/01 22:25:11
>>273
サンキュ、試してみます

275:デフォルトの名無しさん
05/06/02 00:57:55
>>273
ImageLoader GCあたりでググッタラ、それっぽいソースを見つけたのでコピペで解決しました。

URLリンク(springide.org)

なぜかGIFやPNGだとエラーがでるけど、BMPやJPGはちゃんと動いているので問題なし。
感謝!!

276:デフォルトの名無しさん
05/06/09 22:47:50
ヘルプを開いた時に右ペインに表示されるHTMLを変更しようと
org.eclipse.core.runtime.products を拡張して、
preferenceCustomizationで設定ファイルを指定、
workspace\.metadata\.plugins\org.eclipse.pde.core\xxxx\config.iniに
eclipse.productの設定を追加した。

が、まったく反映されない。
どうもconfig.iniが実行するたびに更新されて、
eclipse.productが消されるのだが、どうすればいいんでしょうか?


277:デフォルトの名無しさん
05/06/09 23:18:50
>>276 config.iniの自動生成をやめさせるだけだったら、Eclipseアプリケーションの
実行設定の中にオプションがあるのでそれを切る。
ただし、Eclipseのbrandingをやるのだったら、プロジェクト中に
.productファイルを作りその中でconfig.iniも含めてPDEを使って管理すべきだと思う。
workspace\.metadata\.plugins\org.eclipse.pde.core\ はPDEを通さずに
自分で触っていい場所ではないから、このままだと同様のトラブルは続くよ。

278:276
05/06/10 00:07:06
>>277

すばやいレスありがとうございます。
.productファイルを作り~
以降がよくわからないのです、よければ教えてください。

279:デフォルトの名無しさん
05/06/11 16:54:46
基本的な話だろうが、Javaプロジェクトの作り方が分からん。
IProjectをcreateしてからどうしたらいいんだ。
ネイチャとかそのへん?

280:デフォルトの名無しさん
05/06/11 17:16:10
>>279
Official eclipse 3.0 FAQsのFAQ351

281:デフォルトの名無しさん
05/06/11 18:00:44
Web版に載ってない……。

282:デフォルトの名無しさん
05/06/11 18:33:23
Webにはないの? まあ書籍版は一冊買っておいたほうがいいよ。
Javaプロジェクト作るだけならnature ID設定しとけって話だけど、
そのほかにも設定項目あるし。
URLリンク(help.eclipse.org)

283:デフォルトの名無しさん
05/06/25 15:44:40
Eclipse RCPをつかったリッチクライアントで、
右上?のアイコンとテキストのパースペクティブ一覧が表示されません。
どうすれば表示できるのでしょうか?

バージョンはEclipse 3.0です。



284:デフォルトの名無しさん
05/06/25 16:07:33
>>283
setShowPerspectiveBar(true)

285:デフォルトの名無しさん
05/06/25 16:23:34
ステータスバーにテキストを表示って
位置指定ってできないの?

addしていくと右から詰まっていくのだが
左端からテキストを表示したい。
どうやって指定するんでしょうか?

286:デフォルトの名無しさん
05/06/25 17:15:16
>>285
addじゃなくてinsertBefore

287:デフォルトの名無しさん
05/06/25 23:15:39
3.1から、ステータスバーに漏れなくメモリメーターが付いてきた。
結構喰らってるのね。 俺のアプリだと10~11MBぐらい炒ってる。
このメモリ使用量はEMFのせいか?
まあ、こまめにGCされてるようで、派手に増えたりする事はないし
数千件のListをぐるぐる回してても結構軽い。


288:283
05/06/26 16:30:43
>>284
ありがとう。

289:デフォルトの名無しさん
05/06/27 23:05:28
ビューの最大化、最小化のアイコンを非表示にできますか?
また、必ず表示していたいビューの一部があるのですが、これ以上小さく
リサイズできないようにするといった設定は可能でしょうか?
バージョンは3.0です。


290:285
05/06/28 23:23:44
>>286
確かに左から詰まっていった。
でも左端の1/3程が依然余白がある。

StatusLineContributionItem作る時に幅を大きくとっても埋まらない。
なんか気持ち悪い。

291:デフォルトの名無しさん
05/06/29 01:09:45
FastViewが埋まる場所ではなくて ?

292:デフォルトの名無しさん
05/06/29 06:40:22
子の方にプラグインしてるか、自分の後にプラグインしている奴がいるかどちらかだろうな。

293:285
05/06/29 21:10:39
>>291,292
FastView

294:285
05/06/29 21:11:12
>>291,292
FastView

295:285
05/06/29 21:15:54
>>291,292
書き込みミスった。
FastViewを表示してみたけど、FastViewの領域とinsertBeforeした
ステータスの間があいている。
WorkbenchAdvisorを継承したクラスで
IStatusLineManager statusLine = configurer.getStatusLineManager();
で取得したstatusLineにステータスをaddしてんだけど
何か根本的に間違ってるのかな?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch