2014-12-01 2 views
1

나는 이클립스보기를 생성하고 사용자 입력 값 중 하나를 영구 속성으로 설정하려고합니다. 나는 사용자의 프로젝트 (즉 IProject) 중 하나가 있다면, 내가보기에서 IResource.setPersistentProperty

project.setPersistentProperty(key,value); 

는 그러나,보기, 나는이 사용자의 프로젝트를하지 않아도 할 수있는 것을 알고있다. 개인 작업 공간에서 영구 속성을 설정하는 올바른 방법은 무엇입니까?

+0

영구 속성은 항상 IResource와 연결됩니다. 당신은 당신의 플러그인에 특정한'IPreferenceStore'에서 환경 설정을 사용할 수 있습니다. –

+0

@ greg-449이 작업에 대한 유용한 자습서를 권해 주시겠습니까? –

+0

환경 설정 API에 대해 설명합니다. [here] (http://www.vogella.com/tutorials/EclipsePreferences/article.html) –

답변

1

특정 작업 영역에 대한보기 속성을 설정해야하는 경우 IEclipsePreferencesinstance 범위를 사용해야합니다. 주제에 우수한 Lars Vogel's tutorial에서 인용

:이 계층 환경 설정 저장하는 java.util.prefs.Preferences 개체를 반환합니다

Preferences preferences = InstanceScope.INSTANCE.getNode("<Bundle-SymbolicName>"); 
Preferences sub1 = preferences.node("node1"); 
Preferences sub2 = preferences.node("node2"); 
sub1.put("h1", "Hello"); 
sub1.put("h2", "Hello again"); 
sub2.put("h1", "Moin"); 
try { 
    // forces the application to save the preferences 
    preferences.flush(); 
} catch (BackingStoreException e) { 
    e.printStackTrace(); 
} 

(<Bundle-SymbolicName>는 플러그인, org.some.organization.some.plugin 같은 일반적으로 무언가의 상징적 인 이름입니다).

+0

이것은 완전히 작동하지 않았지만 정확한 결과를 이끌어 냈습니다. 고맙습니다. –

+1

도움이되었다고 생각되면 답변을 수정하거나 샘플 코드의 변경 사항을 반영하도록 수정하십시오. – nvamelichev