2011年7月16日土曜日

Eclipseの起動時に作成したプラグインの設定をしたい場合

Eclipseプラグインは普通はEclipseを起動後に設定ウィンドウを出して設定するものだが、
Eclipse起動時にいろんな状態(例えば、ファイルパスとか)を見て即座に設定したい場合がある。
そのようなプラグインを作る際のやり方を説明する。


1. AbstractUIPluginクラスを継承(extends)、IStartupクラスを実装(implements)するクラスを作る。
2. public void earlyStartup()をオーバーライドし、その中に起動時にやりたい処理を実装する。
3. プラグインプロジェクトのplugin.xml編集
1. Eclipseでplugins.xmlを開き、「拡張」タブクリック
2. 「拡張」画面にある「追加」ボタンをクリック
3. 「拡張ポイント」一覧が現れるので、「org.eclipse.ui.startup」を選択し、「完了」をクリックする。
4. 「拡張」画面に現れた「org.eclipse.ui.startup」の左についている△印をクリックして展開し、出てきた
ものをクリックする。
5. すると右側に「拡張要素詳細」が現れるので、「参照」ボタンを押し、1.~2.で作ったクラスを選択する。
4. 後はプラグインとしてプロジェクトをExportすればよい

以上です。

※参考
Eclipse起動時のプラグイン活性化

相対パスだったら絶対パスに直す

そのやり方について。

文字列が絶対パスかどうか判定して、もし相対パスだったらgetCanonicalPath()で絶対パス取得する。


File file = new File(str); // パスを引数に入れてFileインスタンス生成
if (!file.isAbsolute()) {  // 絶対パスの判定にisAbsolute()を使う
    try {
        str = file.getCanonicalPath(); // getCanonicalPath()で絶対パスを取得する
    } catch (IOException e) {  // getCanonicalPath()は例外をthrowするのでcatchする
        e.printStackTrace();
    }
}

基本だけど、ちゃんと記録しておこうと思って書きました。