2.2부터 지원되는 솔루션은인 IEditedResourceProvider
을 사용합니다 (속성 편집은 어쨌든 포함 된 편집기에 속하기 때문에). Xtend에서 샘플 코드 (에디터가 변경 될 때마다 속성이 업데이트됩니다) : EditTemplateDialog source, StackOverflow, Eclipse Forum :
val injector = MyDslActivator.instance.getInjector(MyDslActivator.COM_EXAMPLE_MY_DSL)
val resourceSet = injector.getInstance(IResourceSetProvider).get(null)
val fileExtension = injector.getInstance(Key.get(String, Names.named(Constants.FILE_EXTENSIONS)))
val resourceProvider = [|
resourceSet.createResource(createURI('''temp.«fileExtension»''')) as XtextResource
]
injector.getInstance(EmbeddedEditorFactory).newEditor(resourceProvider).withParent(parent) => [
createPartialEditor("", editedAttribute ?: "", "", false)
document.addModelListener[_ | editedAttribute = document.get]
]
기준으로합니다.