Js-beautify: HTML : ajout d'une option pour conserver l'emballage manuel des attributs

Créé le 4 févr. 2017  ·  19Commentaires  ·  Source: beautify-web/js-beautify

--wrap-attributes option auto|force|force-aligned|force-expand-multiline
Cela permet de condenser tous les attributs en une seule ligne ou d'enrouler automatiquement chacun d'eux.

Serait-il possible de ne conserver que l'emballage initial ?

html enhancement

Commentaire le plus utile

C'est une excellente idée, aucune des options ne permet d'enrouler manuellement.

Ce serait formidable d'avoir une option qui exécuterait force|force-aligned|force-expand-multiline uniquement si la longueur de la ligne d'enveloppement (par défaut 120) a été atteinte car auto enveloppe uniquement autant d'attributs que nécessaire. Quelque chose comme des options auto-expand-multiline|auto-aligned ?

Tous les 19 commentaires

C'est une excellente idée, aucune des options ne permet d'enrouler manuellement.

Ce serait formidable d'avoir une option qui exécuterait force|force-aligned|force-expand-multiline uniquement si la longueur de la ligne d'enveloppement (par défaut 120) a été atteinte car auto enveloppe uniquement autant d'attributs que nécessaire. Quelque chose comme des options auto-expand-multiline|auto-aligned ?

@Robula
Veuillez ouvrir un nouveau numéro pour ce que vous avez dans votre deuxième paragraphe.

@Montago , @Andikki - ce que vous décrivez est une option nommée quelque chose comme unchanged ou preserve , n'est -ce pas ?

@bitwiseman non, juste une autre option comme "Force-Aligned" ... mais à la place "auto-aligned"

Ce qu'il devrait faire, c'est simplement aligner tous les attributs qui ont été encapsulés manuellement.
tous les autres éléments/attributs sont intacts.

@Montago - Ah, donc plutôt align-only .

oui c'est logique :)

bosse pour ça !

Ce serait bien d'avoir manuellement certains attributs sur une nouvelle ligne et d'autres sur la même ligne. Ensuite, je peux décider lequel je veux et tout le reste est automatiquement formaté. Merci

@bitwiseman Je ne pense pas que l'alignement soit nécessaire, mais si c'est le cas, il doit y avoir deux options - une pour appliquer l'indent_size habituel, une autre pour aligner - tout en conservant les sauts de ligne initiaux.

Exemple
La source:

<input type="text"     class="form-control"  autocomplete="off" 
      [(ngModel)]="myValue"          [disabled]="isDisabled" [placeholder]="placeholder" 
  [typeahead]="suggestionsSource" [typeaheadOptionField]="suggestionValueField" [typeaheadItemTemplate]="suggestionTemplate"   [typeaheadWaitMs]="300"
                        (typeaheadOnSelect)="onSuggestionSelected($event)" />

Forcer l'indentation uniquement :

<input type="text" class="form-control" autocomplete="off" 
  [(ngModel)]="myValue" [disabled]="isDisabled" [placeholder]="placeholder" 
  [typeahead]="suggestionsSource" [typeaheadOptionField]="suggestionValueField" [typeaheadItemTemplate]="suggestionTemplate" [typeaheadWaitMs]="300"
  (typeaheadOnSelect)="onSuggestionSelected($event)" />

Forçage de l'alignement uniquement :

<input type="text" class="form-control" autocomplete="off" 
       [(ngModel)]="myValue" [disabled]="isDisabled" [placeholder]="placeholder" 
       [typeahead]="suggestionsSource" [typeaheadOptionField]="suggestionValueField" [typeaheadItemTemplate]="suggestionTemplate" [typeaheadWaitMs]="300"
       (typeaheadOnSelect)="onSuggestionSelected($event)" />

Je ne sais pas si c'est le bon problème pour demander cela, mais j'ai l'impression qu'une option auto-align devrait agir comme auto ; enveloppant après une certaine coupure de colonne, et si une ligne se termine, elle traite la balise comme force-align .

Exemple
Force-align lorsque la longueur de la ligne est supérieure à wrapLineLength :

<div [isWrapped]="false" [attributesAligned]="false"></div>

<really-long-angular-component-that-would-force-wrapping class="wrapped"
                                                         [isWrapped]="true"
                                                         [attributesAligned]="true">

Presque surfé 5 ou 6 sujets où les gens attendaient avec impatience que cette fonctionnalité soit implémentée. Puisque ce n'est pas le cas, ce serait formidable d'avoir ceci sur vscode avec if wrap requries et force-alignment pour cette ligne correspondante vs.

??

@kaankucukx Vous ne savez pas ce que vous voulez dire ? Est-ce couvert dans les exemples précédents ?

+1 pour cela, j'ai actuellement les meilleurs résultats avec force pour le guidon, mais il en résulte toujours un habillage indésirable dans mon bloc de guidon :

   </label>
     {{#artdeco-hoverable-trigger placement="right"
      as
      |card|}}

et

  <ul class="text-ad-edit-panel__dropdown-list">
    {{#each yourCompanyPageTypes
      as
      |companyPageType
      index|}}

J'ai juste besoin de conserver les nouvelles lignes des attributs de nouvelle ligne manuellement, mais d'obtenir l'indentation correcte.

FWIW cela ne fonctionne dans aucun éditeur que j'ai trouvé, à l'exception d'Intellij. J'adorerais voir cela mis en œuvre cependant!

FWIW cela ne fonctionne dans aucun éditeur que j'ai trouvé, à l'exception d'Intellij. J'adorerais voir cela mis en œuvre cependant!

Fonctionne également dans Netbeans.

FWIW ne peut pas faire fonctionner cela dans VSCode
Développer avec Vue
Extensions : Jolie, Vetur
Le formatage continue de ramener toutes les balises et attributs html sur une seule ligne. J'ai suivi de nombreuses solutions suggérées.
Ce serait bien de savoir si les gens font fonctionner cela dans un fichier .vue dans VSCode

@christoferd c'est le sujet de ce problème. Ça ne marche pas. js-beautify n'est pas capable de conserver les sauts de ligne. Il va toujours le mettre sur une seule ligne.

Je continue à utiliser WebStorm car ils ont leur propre formateur et cela fonctionne avec des sauts de ligne.

Relatif au #1404

Merci d'avoir travaillé sur un correctif @MacKLess ! J'attends avec impatience une nouvelle version pour pouvoir l'essayer

Cette page vous a été utile?
0 / 5 - 0 notes