이 페이지에서

qmlformat

qmlformat은 QML 코딩 규약에 따라 QML 파일의 서식을 자동으로 조정하는 도구입니다.

사용법:
qmlformat [옵션] 인수

옵션 및 설정

qmlformat은 명령줄 옵션을 사용하여 구성할 수 있습니다. 옵션은 서식과 직접 관련된 옵션과 도구의 동작을 제어하는 옵션, 이렇게 두 가지 그룹으로 나뉩니다.

다음 옵션들은 도구의 동작에만 영향을 미칩니다:

명령줄 옵션설명
-h, --help명령줄 옵션에 대한 도움말을 표시합니다.
--help-all일반 Qt 옵션을 포함한 도움말을 표시합니다.
-v, --version버전 정보를 표시합니다.
-V, --verbose상세 모드. 더 자세한 정보를 출력합니다.
--write-defaults.qmlformat.ini 에 기본 설정을 저장하고 종료합니다.
--output-options사용 가능한 모든 옵션, 해당 기본값, 값이나 유형에 대한 힌트를 출력합니다.
--ignore-settings모든 설정 파일을 무시하고 명령줄 옵션만 고려합니다.
-i, --inplacestdout으로 출력하는 대신 파일을 직접 편집합니다.
-f, --force오류가 발생하더라도 계속 진행합니다.
-F, --files <file>file에 나열된 모든 파일을 원본에서 직접 포맷합니다.

다음 옵션 그룹은 파일의 서식 지정 방식을 제어하며, 설정 파일을 통해서도 제어할 수 있습니다.

부울 옵션의 경우, 명령줄에서 해당 플래그를 전달하거나 설정 파일에서 변수를 true 로 설정하여 해당 동작을 활성화하십시오.

명령줄 옵션설정 이름기본값설명
-t, --tabsUseTabsfalse공백 대신 탭을 사용합니다.
-w, --indent-width <width>들여쓰기 너비4들여쓰기 시 사용되는 공백의 개수입니다.
-W, --column-width <width>최대 열 너비-1지정된 너비를 초과하면 줄을 여러 줄로 나눕니다. 줄 바꿈을 비활성화하려면 ` -1 `를 사용하십시오(기본값).
-n, --normalizeNormalizeOrderfalseQML 코딩 지침에 따라 객체의 속성 순서를 재정렬하고 정렬합니다. --group-attributes-together 와 호환되지 않습니다.
-l, --newline <newline>NewlineTypenative사용할 줄 바꿈 형식을 재정의합니다(native, macos, unix, windows).
-S, --sort-importsSortImportsfalse가져오기 항목을 알파벳순으로 정렬합니다(주어진 이름이 여러 모듈의 유형을 식별하는 경우, 이로 인해 의미론이 변경될 수 있습니다).
--objects-spacingObjectsSpacingfalse객체 사이에 공백을 삽입합니다( normalize 또는 group-attributes-together 와 함께 사용할 때만 작동합니다).
--functions-spacing함수 간격false함수 사이에 공백을 삽입합니다( normalize 또는 group-attributes-together 와 함께 사용할 때만 작동합니다).
--group-attributes-togetherGroupAttributesTogetherfalseQML 코딩 지침에 따라 객체의 속성 순서를 재정렬하지만 정렬하지는 않습니다. --normalize 와 호환되지 않습니다.
--single-line-empty-objectsSingleLineEmptyObjectsfalse빈 객체를 한 줄에 작성합니다( normalize 또는 group-attributes-together 와 함께 사용할 때만 작동합니다).
--semicolon-rule세미콜론 규칙alwaysJS 문(always, essential)의 끝에 세미콜론을 추가하는 방식을 사용자 정의합니다. 자세한 내용은 세미콜론 규칙을 참조하십시오.

인수

인수:
파일 이름

사용법

qmlformat은 유연하며 필요에 따라 구성할 수 있습니다. qmlformat은 신뢰할 수 없는 코드에서 실행될 때(예: 공개 CI 환경에서 테스트 중 QML 파일 서식을 지정할 때) 샌드박스, 컨테이너 또는 기타 안전한 환경에 배포해야 합니다.

출력

qmlformat은 서식이 적용된 파일 버전을 stdout에 출력합니다. 파일을 원본 위치에서 직접 업데이트하려면 -i 플래그를 지정하십시오.

속성, 함수 및 신호 그룹화

-n 또는 --normalize 플래그를 사용하면 qmlformat은 기존 순서를 유지하는 대신 모든 속성, 함수 및 시그널을 이름별로 그룹화하고 정렬합니다.

예를 들어:

import QtQuick

QtObject {
    signal s2()
    property int h
    function z() {}
    property int w
    function y() {}
    id: asdf
    signal s1()

    property Item myItem2: Item {
        TextEdit {}
        Rectangle {}
    }
    property Item myItem: Item {
        Rectangle {}
        TextEdit {}
    }
}

다음과 같이 형식화됩니다:

import QtQuick

QtObject {
    id: asdf

    property int h
    property Item myItem: Item {
        Rectangle {
        }
        TextEdit {
        }
    }
    property Item myItem2: Item {
        TextEdit {
        }
        Rectangle {
        }
    }
    property int w

    signal s1
    signal s2

    function y() {
    }
    function z() {
    }
}

이름 순으로 정렬하지 않고 속성을 그룹화하려면 대신 --group-attributes-together 를 사용하십시오.

이렇게 하면 앞의 코드 조각이 다음과 같이 표시됩니다:

import QtQuick

QtObject {
    id: asdf

    property int h
    property int w
    property Item myItem2: Item {
        TextEdit {
        }
        Rectangle {
        }
    }
    property Item myItem: Item {
        Rectangle {
        }
        TextEdit {
        }
    }

    signal s2
    signal s1

    function z() {
    }
    function y() {
    }
}

이 옵션은 --normalize 보다 우선합니다.

설정 파일

프로젝트 소스나 프로젝트 소스 폴더의 상위 디렉터리에 설정 파일(.qmlformat.ini)을 포함시켜 qmlformat을 구성할 수 있습니다. --write-defaults 플래그를 전달하면 기본 설정 파일을 얻을 수 있습니다. 이렇게 하면 현재 작업 디렉터리에 .qmlformat.ini 파일이 생성됩니다.

경고: --write-defaults 는 기존의 모든 설정 및 주석을 덮어씁니다.

파일 목록 서식 지정

서식 지정할 파일 목록을 인수로 전달할 수도 있지만, qmlformat은 파일에 저장된 일련의 파일을 서식 지정하기 위한 -F 옵션을 제공합니다. 이 경우 서식 지정은 원본 파일에서 직접 수행됩니다.

// FileList.txt
main.qml
mycomponent.qml

이 목록을 사용하려면:

qmlformat -F FileList.txt

참고: 파일에 유효하지 않은 항목(예: 존재하지 않는 파일 경로, 또는 파일 경로는 유효하지만 내용이 유효하지 않은 QML 문서인 경우)이 포함되어 있는경우 , qmlformat은 해당 항목에 대해 오류를 보고하고 나머지 유효한 항목에 대해서는 그대로 서식을 지정합니다.

경고: ` -F ` 옵션을지정하면 , qmlformat은 위치 매개변수를 무시합니다.

세미콜론 규칙

--semicolon-rule 옵션을 사용하면 JS 문 말미에 세미콜론을 추가하는 방식을 사용자 정의할 수 있습니다.

다음 값을 사용할 수 있습니다:

  • always - 항상 세미콜론을 추가합니다(기본값).
  • essential - 세미콜론을 생략할 경우 문제가 발생하지 않는 한 세미콜론을 제거합니다.

주석을 사용하여 서식 지정 비활성화

특정 주석을 사용하여 qmlformat 기능을 일시적으로 비활성화할 수 있습니다.

  • // qmlformat off 해당 줄부터 서식을 비활성화합니다.
  • // qmlformat on 서식을 비활성화한 후 다시 활성화합니다.

이를 통해 qmlformat이 레이아웃을 변경하지 않도록 수작업으로 조정한 코드나 복잡한 구조를 유지할 수 있습니다. 서식 지정은 다음 // qmlformat on 주석이 나타날 때까지, 또는 재활성화 지시가 없는 경우 파일 끝까지 비활성화된 상태로 유지됩니다.

서식 지정 지시어를 사용할 때는 다음 사항을 유의하십시오:

  • 지시문은 반드시 별도의 줄에 작성해야 합니다.
  • 중첩된 지시문은 지원되지 않습니다. 첫 번째 ` // qmlformat off `와 그 다음에 나오는 ` // qmlformat on `만 고려됩니다. 비활성화된 영역 내의 추가 지시문은 무시됩니다.
  • 정규화된 서식 지정 모드에서, ` sortImports `가 활성화된 경우, 또는 원본 문서의 순서를 재조정하는 옵션이 사용된 경우에는 지시어가 무시됩니다. 이러한 경우 서식 지정은 항상 적용됩니다.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.