루트 노드의 기본 레이블 텍스트는 filename입니다. test.mydsl
이라는 파일 이름을 만든 경우 레이블로 test
이 표시됩니다. 하지만 전체 파일 이름을 변경하고 싶습니다. test.mydsl
.xtext 윤곽의 루트 노드 레이블 변경
먼저 IXtextDocument
유형의 개체를 얻으려면 createRoot(IXtextDocument document)
을 무시하지만 파일 이름 정보가없는 것 같습니다.
두 번째 시도는 원래 텍스트 끝에 .mydsl
을 추가하는 것입니다. 내가 예상 한대로 원래 라벨 test
을 줄 것이다 서브 클래스
def _xtext(Model model) { return super._xtext(model) }
에 _text(Model model)
을 무시하면 이상한 일이다. 내가 가진 문자열을 추가하려고한다면, 그것은 filename
의 값은 항상 null
입니다
def _xtext(Model model) {
val filename = super._xtext(model)
// or cast it to a string
val filename = super._xtext(model) as String
return filename + ".mydsl"
을 실패합니다. _xtext()
의 반환 값이 String
이 아닌가요?
def _text(ROOT_NODE_TYPE)
에 반환? –답변에 스 니펫을 추가했습니다. –