2017-01-11 9 views
4

재사용 가능한 QML 코드를 작성하기 위해 다른 qml 파일에서 원하지 않는 종속성을 감지 할 수있는 (정적 코드) 검사기를 찾고 있습니다. B.qml에게로QML 의존성/재사용 가능성 (정적 코드) 검사기

Item { 
    id: delegateB 
    ... 
    text: dependencyId.text 
} 

A.qml

Item { 
    id: dependencyId 
    ... 
    delegate: B {} 
} 

:

는 B.qml가 A.qml에서 식별자에 의존하는 예를 제공하려면 B.qml의 텍스트 요소는 A.qml의 식별자에 따라 다르므로이 코드를 올바르게 다시 사용할 수 없습니다.

A.qml의 Item id가 변경되지 않는 한이 코드는 컴파일/실행되므로 종속성을 알 수 없습니다. QmlLint을 시도했지만 오류가 없습니다.

이것을 확인할 수있는 QML 용 정적 코드 검사기가 있습니까?

+1

각 파일에'qmlscene'을 사용할 수 있습니다. 그러한 의존성이 있다면'ReferenceError'를 발생시킬 것입니다. – derM

+0

정확하게 (qmllint를 사용하여) 무엇을 찾고 있었습니까, 고맙습니다! --quit 옵션을 추가하여 빌드에 통합했습니다. – Bartel

답변

2

"*".qml 파일마다 qmlscene을 실행하는 sourceDirectory에 사용자 정의 빌드 단계를 추가하여 "참조"오류에서만 결과를 필터링합니다.

qmlscene 사용 팁에 대해 derM에게 감사드립니다.

명령 :

인수를 찾을 수 :. -name '* .qml'-exec qmlscene --quit {} \; 2> & 1 | 그렙 -rnis '참조'

작업 디렉토리퍼센트 {SOURCEDIR}

스크린 : enter image description here

(2 & 1 에러 메시지는 어디 인 열려진 파싱 할 필요> 표시됨)