qmlformat
qmlformat
qmlformatはQMLファイルをQMLコーディング規約に従って自動的に整形するツールです。
オプションと設定
qmlformatはコマンドラインオプションで設定できます。オプションには2つのグループがある:書式設定に直接関係するものと、ツールの動作を制御するものです。
以下のオプションはツールの動作にのみ影響します:
| コマンドラインオプション | 説明 | |
|---|---|---|
-h,--help | コマンドラインオプションのヘルプを表示します。 | |
--help-all | 一般的な Qt オプションを含むヘルプを表示します。 | |
-v,--version | バージョン情報を表示します。 | |
-V,--verbose | 冗長モード。より詳細な情報を出力します。 | |
--write-defaults | デフォルトの設定を .qmlformat.ini に書き込んで終了する (警告: 既存の設定やコメントが上書きされます!)。 | |
--output-options | 利用可能なすべてのオプションとそのデフォルト値、値や型のヒントを出力する。 | |
--ignore-settings | すべての設定ファイルを無視し、コマンドラインオプションのみを考慮する | |
-i,--inplace | 標準出力に出力する代わりに、ファイルをインプレースで編集します。 | |
-f,--force | エラーが発生しても続行する。 | |
-F,--files <file> | ファイルにリストされたすべてのファイルをインプレースでフォーマットする。 |
次のオプション・グループは、ファイルがどのようにフォーマットされるべきかを制御する:
| コマンドラインオプション | 設定名 | デフォルトの状態/値 | 説明 |
|---|---|---|---|
-t,--tabs | タブ使用 | 無効/無効 | スペースの代わりにタブを使用する。 コマンドライン呼び出しでは、フラグを渡すことでこの動作を有効にすることができます。 設定ファイルでは、関連する変数を "true "に設定することで有効になります。 |
-w,--indent-width <width> | インデント幅 | 4 | インデント時に使用されるスペース数。 |
-W,--column-width <width> | 最大列幅 | -1 | 行が指定した幅を超える場合、複数行に分割する。行の折り返しを無効にするには -1 を使用する。(デフォルト)。 |
-n,--normalize | 正規化順序 | 無効/偽 | QMLコーディングガイドラインに従ってオブジェクトの属性を並び替えます。 コマンドライン呼び出しでは、フラグを渡すことでこの動作を有効にすることができます。 設定ファイルでは、関連する変数を "true "に設定することで有効になります。 |
-l,--newline <newline> | 改行タイプ | ネイティブ | 使用する改行書式を上書きします (native,macos,unix,windows)。 |
-S,--sort-imports | ソートインポート | 無効/偽 | インポートをアルファベット順に並べ替えます (警告: 与えられた名前が複数のモジュールの型を識別する場合、セマンティクスが変わる可能性があります!)。 コマンドライン呼び出しでは、フラグを渡すことでこの動作を有効にすることができます。 設定ファイルでは、関連する変数を "true "に設定することで、この動作を有効にすることができます。 |
--objects-spacing | オブジェクトの間隔 | 無効/偽 | オブジェクト間のスペースを確保する(normalize でのみ動作)。コマンドライン呼び出しでは、このフラグを渡すことでこの動作を有効にできます。 設定ファイルでは、関連する変数を "true "に設定することで、この動作を有効にできます。 |
--functions-spacing | 関数スペーシング | 無効/無効 | 関数間のスペースを確保する(normalize でのみ動作)。コマンドライン呼び出しでは、このフラグを渡すことでこの動作を有効にできます。 設定ファイルでは、関連する変数を "true "に設定することで有効になります。 |
--group-attributes-together | GroupAttributesTogether | 無効/偽 | QMLコーディングガイドラインに従って、オブジェクトの属性を並べ替えたり、グループ化したりします。Implies--normalize 。コマンドライン呼び出しでは、フラグを渡すことでこの動作を有効にすることができます。 設定ファイルでは、関連する変数を "true "に設定することで、この動作を有効にすることができます。 |
--single-line-empty-objects | SingleLineEmptyObjects | 無効/偽 | 空のオブジェクトを1行に書きます(normalize でのみ動作)。コマンドライン呼び出しでは、このフラグを渡すことでこの動作を有効にできます。 設定ファイルでは、関連する変数を "true "に設定することで、この動作を有効にできます。 |
--semicolon-rule | セミコロンルール | 常に | JSステートメント (always,essential) の最後にセミコロンを追加するようにカスタマイズします。注意: 詳細はセミコロンルールを参照してください。 |
引数
| 引数 |
|---|
| ファイル名 |
詳細
qmlformatは柔軟で、必要に応じて設定することができる。
出力
qmlformat はフォーマットされたファイルを標準出力に書き出します。ファイルをインプレースで更新したい場合は-i フラグを指定してください。
プロパティ、関数、シグナルのグループ化
-n または--normalize フラグを指定すると、qmlformat はすべてのプロパティ、関数、シグナルをグループ化します。
設定ファイル
設定ファイル.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.