Sur cette page

qmlformat

qmlformat

qmlformat est un outil qui formate automatiquement les fichiers QML conformément aux conventions de codage QML.

Utilisation :
qmlformat[options] arguments

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 OptionDescription
-h, --helpAffiche l'aide sur les options de la ligne de commande.
--help-allAffiche l'aide, y compris les options génériques de Qt.
-v, --versionAffiche des informations sur la version.
-V, --verboseMode 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-optionsAffiche toutes les options disponibles, leur valeur par défaut et un indice des valeurs ou des types.
--ignore-settingsIgnore tous les fichiers de configuration et ne prend en compte que les options de la ligne de commande
-i, --inplaceModifie le fichier sur place au lieu de l'afficher sur la sortie standard (stdout).
-f, --forceContinue 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 commandeNom du paramètreÉtat/valeur par défautDescription
-t, --tabsUseTabsdésactivé/fauxUtiliser 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'indentation4Nombre d'espaces utilisés lors de la mise en retrait.
-W, --column-width <width>MaxColumnWidth-1Coupe 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, --normalizeNormaliser l'ordredésactivé/fauxRé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 nouvellenatifRemplace le format de nouvelle ligne à utiliser (native, macos, unix, windows).
-S, --sort-importsSortImportsdésactivé/fauxTrier 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-spacingEspacement des objetsdésactivé/fauxAssurer 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-spacingFonctionsEspacementdésactivé/fauxAssure 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-togetherGroupAttributesTogetherdésactivé/fauxRé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-objectsSingleLineEmptyObjectsdé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-ruleRègle du point-virguletoujoursPersonnalise 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 off désactive le formatage à partir de cette ligne
  • // qmlformat on active 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.