J'adore VSCode lors de l'enregistrement du formatage automatique jusqu'à ce qu'il s'embrouille avec mon code de modèle.
Il formate à tort ma Django syntaxe du modèle en un code de ligne (parfois très longue ligne). Donc, au lieu d'avoir ce code
{% for row in 'ABCDEFGH' %}
<tr>
{% for col in '123456789012345' %}
<td>
{% with forloop.counter|stringformat:"s" as counter %}
{% with row|add:counter as seat_num %}
{% if seat_num not in oc_seats %}
<input type="checkbox" value="{{ row }}{{ forloop.counter }}" name="seats">
{% endif %}
<br> {{ seat_num }}
{% endwith %}
{% endwith %}
</td>
{% endfor %}
</tr>
{% endfor %}
Je finis par avoir ce code
{% for row in 'ABCDEFGH' %}
<tr>
{% for col in '123456789012345' %}
<td style="text-align: center; border: 1px solid #aaa;">
{% with forloop.counter|stringformat:"s" as counter %} {% with row|add:counter as seat_num %} {% if seat_num not in oc_seats %}
<input type="checkbox" value="{{ row }}{{ forloop.counter }}" name="seats"> {% endif %} {{ seat_num }} {% endwith %} {% endwith %}
</td>
{% endfor %}
</tr>
{% endfor %}
J'ai essayé de désactiver le format lors de l'enregistrement en modifiant les paramètres utilisateur en {"editor.formatOnSave": false}
mais je n'ai toujours pas eu de chance.
Y a-t-il une configuration que je peux utiliser pour le faire fonctionner mieux?
PS: j'utilise VSCode version 1.9 sur Sierra MacOSx
vous pouvez désactiver le formateur html par défaut, allez dans Fichier> Préférences> Paramètres utilisateur ou espace de travail, dans les paramètres HTML, vous trouverez:
// Enable/disable default HTML formatter (requires restart)
"html.format.enable": true,
Je pense que VSCode utilise js-beautify comme formateur par défaut, vous pouvez utiliser extension embellir pour remplacer les paramètres avec .jsbeautifyrc dans le répertoire du projet
Changer le mode de langue du fichier en "Django/HTML" empêchera également VSCode de le mettre en forme automatiquement.
A eu le même problème, a trouvé un message où la personne a désactivé l'extension JS-CSS-HTML Formatter ( https://stackoverflow.com/a/42100808/4812548 ) et a résolu le problème. Testé sur le mien et il semble avoir fonctionné aussi. J'espère que cela pourra aider
Alexa a un bon point à sa réponse . Le mode de fichier doit être changé dans "Django/HTML" pour empêcher VS CODE de le formater.
Comment changer le mode fichier?
Une solution rapide consiste à utiliser cette extension appelée vscode-Django et à ajuster votre paramètre comme ceci, comme indiqué dans sa documentation.
"files.associations": {
"**/templates/*.html": "Django-html",
"**/templates/*": "Django-txt"
}
Avec ces paramètres, tout fichier situé dans le dossier du modèle sera considéré comme un fichier de modèle Django et ne sera pas affecté par le formatage automatique HTML.
PS: L'extension est toujours en mode aperçu, j'espère qu'elle s'améliorera avec le temps.