- PR -

eclipseプラグイン開発のカレントディレクトリ

1
投稿者投稿内容
ドナ
常連さん
会議室デビュー日: 2003/07/08
投稿数: 42
投稿日時: 2004-09-06 14:43
お世話になります、UKです。

早速質問なのですが、
SWTでのみのビューの表示を作成する際はカレントディレクトリは
「C:/eclipse/workspace/プロジェクト名/.」
なのに対しプラグイン開発をする際はカレントディレクトリが
「C:/eclipse/.」になっています

ファイルの操作を行うプラグインを作ろうとしていたのですが
プラグイン開発の際に例えば「eclipse/workspace/プロジェクト名/src/hoge/ファイル名」
をjavaで操作したい場合、どのようにそのファイルを指定したらよいのでしょうか?
ちなみにSWTでの時は「./src/hoge/ファイル名」でやりました

未熟者で申し訳ありませんが、ご教授よろしくお願いします
ちょま吉
大ベテラン
会議室デビュー日: 2004/08/04
投稿数: 112
投稿日時: 2004-09-07 13:11
よくわかりませんが、
SWTと同じように
「eclipse/workspace/プロジェクト名/src/hoge/ファイル名」
であれば
「./workspace/プロジェクト名/src/hoge/ファイル名」
のように指定すればいいのではないでしょうか?
ドナ
常連さん
会議室デビュー日: 2003/07/08
投稿数: 42
投稿日時: 2004-09-07 14:37
ちょま吉さん
確かにそれでプラグイン開発はうまくいきそうですが
しかし、作成したプラグインをパッケージ化した後
そのプラグインを使用する為にeclipse/pluginsに置いた時
その時eclipse/workspace/・・を指定していたら参照できないのではないかと思うのですが
koe
大ベテラン
会議室デビュー日: 2003/07/13
投稿数: 198
投稿日時: 2004-09-07 16:34
最初に、Eclipseのプラグイン開発については全くの初心者であることを断っておきます。

Eclipseプラグインの中でEclipseのワークスペース内のファイルを操作する時は、
EcilpseのAPIを使って取得すればいいのではないでしょうか?

そう思ってちょっと検索したのですが、例えば以下のような方法があるようです。
コード:
IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
IFile file = workspaceRoot.getFileForLocation(new Path(fileName).makeAbsolute());	


出典はこちらです。
http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/bulletnote/eclipse_plugin_dev_faq.html
ほんとにできるのか、今のバージョンでもできるのかは試していないのでわかりませんが。

なんにしても、「ワークスペース内のファイルを操作する」という機能は
EclipseのAPIで提供されていると思うので、それを探してみるといいのではないでしょうか。
確証は無いですが、きっと実行環境や設定に依存しないAPIがあると思います。

推測ばかりの不確かな書き込みで申し訳ないですが、何かのお役に立っていただければ幸いです。
ドナ
常連さん
会議室デビュー日: 2003/07/08
投稿数: 42
投稿日時: 2004-09-09 18:55
koeさんアドバイスありがとうございます

自分も未熟物の為、説明不足で申しわかないのです・・

プラグイン自体にデータファイルを持たして、それをビューなどから値を入力して
データファイルを更新したり、データファイルからデータを取り出して何かしたいのですが
その時のデータファイルの配置場所やデータファイルの参照方法がわからないのです

例えば、連載:Eclipse徹底活用(10)での郵便番号のCSVファイルをどこに配置したら
よいのかわかりません
佐々木
大ベテラン
会議室デビュー日: 2003/03/30
投稿数: 121
投稿日時: 2004-09-09 19:10
引用:

その時のデータファイルの配置場所やデータファイルの参照方法がわからないのです



こんな感じでどうでしょう。
アイコン用のgifファイルを取り出す例:

コード:

Bundle bundle = Platform.getBundle(プラグインID);
URL icon = bundle.getEntry("icons/foo.gif");



[ メッセージ編集済み 編集者: 佐々木 編集日時 2004-09-09 19:11 ]
ドナ
常連さん
会議室デビュー日: 2003/07/08
投稿数: 42
投稿日時: 2004-09-13 15:59
ありがとうございました、やり方分かりました
PlatformとプラグインIDから取得できるのですね
1

スキルアップ/キャリアアップ(JOB@IT)