2016-04-06 9 views
1

グローバルレベルの環境設定をプロジェクトレベルで保存する方法についてはPOCを行っています。プロジェクトレベルでグローバルな設定を保存する方法

私はMyPreferencePageページを作成し、org.eclipse.ui.preferencePages拡張子を使用してこのページをEclipse環境設定に追加するサンプルアプリケーションを作成しました。

また、ページデータを保存してコードsetPreferenceStore(Activator.getDefault().getPreferenceStore())を使用して取得することもできます。 プロジェクトのプロパティレベルで新しいページを作成し、プロジェクトレベルでページ値を保存できるようにする必要があります。

以下はMyPreferencePagepreferencePagesのコードです。

<extension 
point="org.eclipse.ui.preferencePages"> 
<page 
class="com.vogella.preference.MyPreferencePage" 
id="com.vogella.preference.page1" 
name="MyPreferencePage"> 
</page> 
</extension> 
public class MyPreferencePage extends FieldEditorPreferencePage implements 
IWorkbenchPreferencePage { 

public MyPreferencePage() { 
super(GRID); 

} 

@Override 
public void createFieldEditors() { 
addField(new DirectoryFieldEditor(PreferenceConstants.P_PATH, 
"&Directory preference:", getFieldEditorParent())); 

addField(new BooleanFieldEditor(PreferenceConstants.P_BOOLEAN, 
"&An example of a boolean preference", getFieldEditorParent())); 

addField(new RadioGroupFieldEditor(PreferenceConstants.P_CHOICE, 
"An example of a multiple-choice preference", 1, 
new String[][] { { "&Choice 1", "choice1" }, 
{ "C&hoice 2", "choice2" } }, getFieldEditorParent())); 

addField(new StringFieldEditor(PreferenceConstants.P_STRING, 
"A &text preference:", getFieldEditorParent())); 

addField(new StringFieldEditor(PreferenceConstants.P_STRING, 
"A &text preference:", getFieldEditorParent())); 

} 

@Override 
public void init(IWorkbench workbench) { 
setPreferenceStore(Activator.getDefault().getPreferenceStore()); 
setDescription("A demonstration of a preference page implementation"); 
} 

答えて

0

あなたはsetPreferenceStoreに渡されたリファレンス・ストアとしてプロジェクトのためScopedPreferenceStoreを使用することができます。 projectは、プロジェクトのためにIProjectある

new ScopedPreferenceStore(new ProjectScope(project), "your plugin id"); 

:このようにそれを作成します。

関連する問題