qmlformat
qmlformat
qmlformat est un outil qui formate automatiquement les fichiers QML conformément aux conventions de codage QML.
Options et paramètres
qmlformat peut être configuré via les options de la ligne de commande. Il existe deux groupes d'options : Celles qui sont directement liées au formatage, et celles qui contrôlent le comportement de l'outil.
Les options suivantes n'affectent que le comportement de l'outil :
| Ligne de commande Option | Description | |
|---|---|---|
-h, --help | Affiche l'aide sur les options de la ligne de commande. | |
--help-all | Affiche l'aide, y compris les options génériques de Qt. | |
-v, --version | Affiche des informations sur la version. | |
-V, --verbose | Mode verbeux. Affiche des informations plus détaillées. | |
--write-defaults | Écrit les paramètres par défaut dans .qmlformat.ini et quitte (Attention : Cela écrasera tous les paramètres et commentaires existants !) | |
--output-options | Affiche toutes les options disponibles, leur valeur par défaut et un indice des valeurs ou des types. | |
--ignore-settings | Ignore tous les fichiers de configuration et ne prend en compte que les options de la ligne de commande | |
-i, --inplace | Modifie le fichier sur place au lieu de l'afficher sur la sortie standard (stdout). | |
-f, --force | Continue même si une erreur s'est produite. | |
-F, --files <file> | Formater tous les fichiers listés dans le fichier, sur place |
Le groupe d'options suivant contrôle la manière dont les fichiers doivent être formatés, et peut également être contrôlé via un fichier de paramètres.. :
| Option de ligne de commande | Nom du paramètre | État/valeur par défaut | Description |
|---|---|---|---|
-t, --tabs | UseTabs | désactivé/faux | Utiliser les tabulations à la place des espaces. Dans une invocation en ligne de commande, le comportement peut être activé en passant le drapeau. Dans un fichier de configuration, le comportement peut être activé en attribuant la valeur "true" à la variable correspondante. |
-w, --indent-width <width> | Largeur d'indentation | 4 | Nombre d'espaces utilisés lors de la mise en retrait. |
-W, --column-width <width> | MaxColumnWidth | -1 | Coupe la ligne en plusieurs lignes si elle dépasse la largeur spécifiée. Utilisez -1 pour désactiver le retour à la ligne. (par défaut). |
-n, --normalize | Normaliser l'ordre | désactivé/faux | Réorganise les attributs des objets conformément aux directives de codage QML. Dans une invocation en ligne de commande, le comportement peut être activé en passant le drapeau. Dans un fichier de configuration, le comportement peut être activé en attribuant la valeur "true" à la variable correspondante. |
-l, --newline <newline> | Type de ligne nouvelle | natif | Remplace le format de nouvelle ligne à utiliser (native, macos, unix, windows). |
-S, --sort-imports | SortImports | désactivé/faux | Trier les importations par ordre alphabétique (Attention : cela peut modifier la sémantique si un nom donné identifie des types dans plusieurs modules !) Dans une invocation en ligne de commande, le comportement peut être activé en passant le drapeau. Dans un fichier de configuration, le comportement peut être activé en définissant la variable correspondante à "true". |
--objects-spacing | Espacement des objets | désactivé/faux | Assurer des espaces entre les objets (ne fonctionne qu'avec normalize).Dans une invocation de ligne de commande, le comportement peut être activé en passant le drapeau. Dans un fichier de configuration, le comportement peut être activé en attribuant la valeur "true" à la variable correspondante. |
--functions-spacing | FonctionsEspacement | désactivé/faux | Assure la présence d'espaces entre les fonctions (ne fonctionne qu'avec normalize).Dans une invocation en ligne de commande, le comportement peut être activé en passant le drapeau. Dans un fichier de configuration, le comportement peut être activé en attribuant la valeur "true" à la variable correspondante. |
--group-attributes-together | GroupAttributesTogether | désactivé/faux | Réorganise et regroupe les attributs des objets conformément aux directives de codage QML. Implique --normalize.Dans une invocation en ligne de commande, le comportement peut être activé en passant le drapeau. Dans un fichier de configuration, le comportement peut être activé en attribuant la valeur "true" à la variable correspondante. |
--single-line-empty-objects | SingleLineEmptyObjects | désactivé/faux | Écriture d'objets vides sur une seule ligne (ne fonctionne qu'avec normalize).Dans une invocation de ligne de commande, le comportement peut être activé en passant le drapeau. Dans un fichier de configuration, le comportement peut être activé en définissant la variable correspondante à "true". |
--semicolon-rule | Règle du point-virgule | toujours | Personnalise l'ajout de points-virgules à la fin des déclarations JS (always, essential).Remarque : voir la règle du point-virgule pour plus de détails. |
Arguments
| Arguments : |
|---|
| noms de fichiers |
Détails
qmlformat est flexible et peut être configuré selon vos besoins.
Sortie
qmlformat écrit la version formatée du fichier sur stdout. Si vous souhaitez que votre fichier soit mis à jour sur place, spécifiez le drapeau -i.
Regroupement des propriétés, des fonctions et des signaux
Avec l'option -n ou --normalize, qmlformat regroupe toutes les propriétés, fonctions et signaux ensemble, au lieu de conserver l'ordre que vous avez spécifié.
Fichier de paramètres
Vous pouvez configurer qmlformat en incluant un fichier de configuration .qmlformat.ini dans les sources de votre projet ou dans les répertoires parents du dossier des sources de votre projet. Un fichier de configuration par défaut peut être obtenu en passant l'option --write-defaults. Cela génère le fichier .qmlformat.ini dans le répertoire de travail actuel.
Attention : --write-defaults écrasera tous les paramètres et commentaires existants !
Formatage d'une liste de fichiers
Bien que vous puissiez passer une liste de fichiers à formater comme arguments, qmlformat propose l'option -F pour formater un ensemble de fichiers stockés dans un fichier. Dans ce cas, le formatage se fera sur place.
// FileList.txt main.qml mycomponent.qml
Il suffit alors de l'utiliser comme
qmlformat -F FileList.txt
Note : Si le fichier contient une entrée invalide, par exemple, un chemin de fichier qui n'existe pas ou un chemin de fichier valide mais le contenu est un document qml invalide, alors qmlformat se trompera pour cette entrée particulière. Il continuera à formater les entrées valides du fichier en place.
Attention : Si vous fournissez l'option -F, qmlformat ignorera les arguments de position.
Règle du point-virgule
L'option --semicolon-rule vous permet de personnaliser l'ajout de points-virgules à la fin des déclarations JS. Les valeurs suivantes sont acceptées :
always- Toujours ajouter des points-virgules (valeur par défaut).essential- Supprimer les points-virgules à moins que leur omission ne cause des problèmes.
Désactivation du formatage des commentaires
Vous pouvez désactiver temporairement qmlformat en utilisant des commentaires spéciaux.
// qmlformat offdésactive le formatage à partir de cette ligne// qmlformat onactive le formatage après l'avoir désactivé
Cela vous permet de préserver un code réglé à la main ou des structures complexes sans qmlformat modifier leur disposition. Le formatage reste désactivé jusqu'au prochain commentaire // qmlformat on, ou jusqu'à la fin du fichier si aucune réactivation n'est trouvée.
Remarque : les directives doivent être sur leur propre ligne.
Remarque : les directives imbriquées ne sont pas prises en charge. Seuls le premier // qmlformat off et le suivant // qmlformat on sont pris en compte. Toute directive supplémentaire à l'intérieur d'une région désactivée est ignorée.
Remarque : les directives sont ignorées en mode de formatage normalisé, lorsque sortImports est activé ou lorsqu'une option qui réorganise le document d'origine est utilisée. Dans ces cas, le formatage est toujours appliqué.
© 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.