2016-09-20 4 views
0

저는 맞춤 프로젝트 특성을 가진 이클립스 플러그인을 만들고 있습니다. 내 프로젝트에 대한 사용자 정의 정보를 작업 영역에 저장해야합니다. 예를 들어, 내 프로젝트는 List<DbConfig>에있는 몇 가지 db 연결 정보를 사용해야합니다. 는 IS 다음 DbConfig 클래스 : Eclipse Natures Project의 사용자 정의 객체를 저장하는 방법은 무엇입니까?

IProject project = ... get project from selection or something 
IScopeContext context = new ProjectScope(project); 
Preferences projectPreferences = context.getNode("your nature id"); 
projectPreferences.put(key, value); 
projectPreferences.flush(); 

가있는 객체가 나는이 목록 및 다른 기본 설정을 배치해야합니다 :

public class DbConfig { 
    private String dbName; 
    private String connectionString; 
    private String username; 
    private String password; 
    //... getters and setters 
} 

내가 그렇게 somethink하지만, 환경에 투입 할 필요가 오브젝트 유형?

답변

1

기본 설정 저장소에 개체를 저장할 수 없습니다.

원하는 데이터를 플러그인의 '상태 위치'에 저장할 수 있습니다.

사용하여 상태 위치 :

Bundle bundle = ... your plugin bundle 

IPath path = Platform.getStateLocation(bundle); 

반환 IPath 값은 작업 공간 메타 데이터 영역에있을 것입니다.

각 프로젝트마다 별도의 파일을 사용할 수 있습니다.

당신은 사용하여 Bundle 얻을 수 있습니다 :

Bundle bundle = FrameworkUtil.getBundle(getClass()); 

또는

Bundle bundle = Platform.getBundle("your plugin id"); 
+0

안녕, 그렉! 항상 너를 돕는 너, 너 덕분이야. 언제 부를까요? CustomProjectNatures 클래스에서? –

+0

기본 설정을 사용하려는 동일한 위치에서이 주소를 사용합니다. –

+0

아직 이해할 수 없습니다. 예를 들어 내가 좋아하는 것을 번들에서 얻을 수있는 방법은 무엇입니까? –

관련 문제