Eclipse、プラグインプリファレンスの読み込みに関する問題

私は日食に読み込まれる設定を取得するのに問題があります。最初に環境設定ページに行くことなく、環境設定の値をロードできません。 私は日食を開始し、私のプラグインを使用して、私は機能が有効になっていないことがわかります。 私は日食を開始し、設定ページに移動し、私のプラグインを使用して、すべて正常に動作します。

以下のコードを使用して、プリファレンスストアからenableの値にアクセスしようとしています。

final IPreferenceStore preferences = new ScopedPreferenceStore(new InstanceScope(), );
this.enabled = preferences.getBoolean(_ENABLE_TEMPLATE"));

この呼び出しはメソッドに行きます     public boolean getBoolean(String name){         文字列値= internalGet(name);         戻り値== null? BOOLEAN_DEFAULT_DEFAULT:Boolean.valueOf(value)                 .booleanValue();     }     internalGet(name) - nullを返します。結果は this.enabled false に設定されています。

私のコードではこの変数をチェックし、falseの場合はエラーメッセージを表示し、さらに進めません。

私は、設定が起動されるとすぐに使用可能/ロードされるようにする方法を知りたい。

前もって感謝します!!

0
プリファレンスストアから値を読み取るには、その値をプリファレンスに書き込む必要があります。設定ページでその値が設定されていると仮定しますが、 " _ENABLE_TEMPLATE"の値を保存するコードには他の場所がありますか?それぞれの起動と環境設定が削除される前に、おそらく作業領域をきれいにしますか?
追加された 著者 Martti Käärik,
こんにちは、初期設定時(初期化直後)の設定値にアクセスしようとしています。そのようにするのは正しいのですか?
追加された 著者 Krishnaveni,

1 答え

Preferencesサービスは、 org.eclipse.core.runtime プラグインがアクティブになったときに初期化されます。つまり、コードが初期化されていない状態でアクセスすることは事実上不可能です。プリファレンスの値を取得しない理由は、値が設定されていないためです。

preferences.ini ファイル(プラグイン/バンドルのルートに配置する必要があります)を使用して、すべての環境設定のデフォルトを指定することもできます。

1
追加された