1482 votes

Comment faire un commentaire de blocage dans yaml ?

Quelqu'un sait-il comment commenter un bloc de lignes dans yaml ?

2220voto

Dolph Points 12741

YAML supporte les commentaires en ligne, mais je ne crois pas qu'il supporte les commentaires en bloc.

De Wikipedia :

Les commentaires commencent par le signe numérique ( # ), peuvent commencer n'importe où sur une ligne et se poursuivent jusqu'à la fin de la ligne.

Également de Wikipedia :

Les différences syntaxiques sont subtiles et se manifestent rarement dans la pratique : JSON permet des jeux de caractères étendus comme UTF-32, YAML exige un espace après des séparateurs comme la virgule, les égaux et les deux points alors que JSON ne le fait pas, et certaines implémentations non standard de JSON étendent la grammaire pour inclure les commentaires /* ... de Javascript. */ de Javascript. La gestion de ces cas limites peut nécessiter un léger prétraitement du JSON avant de l'analyser en tant que YAML en ligne.

# If you want to write
# a block-commented Haiku
# you'll need three pound signs

106 votes

Haïku génial (5/7/5 syllabes)

263voto

eugene y Points 37378

Voir ceci lien .

"Un commentaire explicite est marqué par un indicateur "#"". C'est tout.

162voto

Kyle Carlson Points 898

Je n'essaie pas de faire le malin, mais si vous utilisez Sublime Text comme éditeur, les étapes sont les suivantes :

  1. Sélectionnez le bloc
  2. CMD + / (sur un Mac au moins)
  3. Profit

J'imagine que d'autres éditeurs ont également une fonctionnalité similaire. Lequel utilisez-vous ? Je serais heureux de faire quelques recherches.

3 votes

Si vous êtes dans Eclipse avec le plugin YEdit, le bouton standard Eclipse block-comment-toggler de ctrl-/ fera basculer les blocs de commentaires dans les fichiers yaml.

1 votes

Une certaine combinaison fonctionne dans eclipse > 4.6 avec un support intégré pour YAML

1 votes

PhpStorm fait cela comme un charme

74voto

Knownasilya Points 998

Dans le VIM, vous pouvez effectuer l'une des opérations suivantes :

  • Commentez toutes les lignes : :%s/^/#
  • Lignes de commentaires 10 à 15 : :10,15s/^/#
  • Commentaire ligne 10 à la ligne actuelle : :10,.s/^/#
  • Commentaire ligne 10 à fin : :10,$s/^/#

9 votes

Le moins de réflexion possible ;). "Vim, I did a thing. do it here, and here and here and here and here..."

5 votes

Vous pouvez aussi frapper : et le type s/^/# pour commenter la sélection actuelle.

1 votes

@Conrad.Dean essaie de apprendre à penser en macros . Bien que pratiquement identiques pour cette tâche, qqI#<esc>jq puis @Q@Q@Q@Q@Q@Q (parce qu'il est plus rapide de ne pas relâcher la touche Maj), est une habitude que vous pouvez étendre à des tâches beaucoup plus complexes. Commencez petit. Entraînez-vous souvent. Bientôt, vous pourrez créer des macros très complexes parfaitement du premier coup. Si vous effacez d'abord le registre qqq vous pouvez inclure @q avant le dernier q pour obtenir une récursion (mais seulement jusqu'à la fin du fichier).

45voto

Une approche alternative :

Si

  • votre structure YAML comporte des champs bien définis qui seront utilisés par votre application.
  • ET vous pouvez librement ajouter des champs supplémentaires qui ne perturberont pas votre application.

puis

  • à n'importe quel niveau, vous pouvez ajouter un nouveau champ de texte en bloc appelé "Description", "Commentaire", "Notes" ou autre.

Exemple :

Au lieu de

# This comment
# is too long

utiliser

Description: >
  This comment
  is too long

ou

Comment: >
    This comment is also too long
    and newlines survive from parsing!

Plus d'avantages :

  1. Si les commentaires deviennent volumineux et complexes et présentent un modèle répétitif, vous pouvez les faire passer de blocs de texte simples à des objets.
  2. Votre application peut - à l'avenir - lire ou mettre à jour ces commentaires.

3 votes

Je suppose que c'est la réponse idéale à la question, surtout si l'on veut que ces commentaires apparaissent en JSON ou en XML et que l'on passe de YAML à ces deux formats.

1 votes

C'est comme ceux-là var comment = 'this code does stuff'

3 votes

@mTvare Les langages de programmation abordent le commentaire selon un mode de pensée différent de celui des langages de sérialisation des données. Un modèle spécifique qui semble stupide dans un domaine, pourrait être le meilleur choix dans un autre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X