Visual studio code HTML formatter, который форматирует для разных случаев - PullRequest
0 голосов
/ 05 июня 2019

Я ищу плагин VS Code, который форматирует мой HTML следующим образом:

Case 1

Если все мои атрибуты помещаются в одну строку(в пределах указанной длины строки, например, 80 или 100), затем держите все в одной строке:

<!-- WHAT I WROTE -->
<div *ngIf="shouldShowThisThing" class="my-cool-class"></div>
<!-- FORMATS TO (in this case, don't do anything) -->
<div *ngIf="shouldShowThisThing" class="my-cool-class"></div>
<!-- SHOULD NOT FORMAT TO -->
<div
    *ngIf="shouldShowThisThing"
    class="my-cool-class">
</div>
<!-- SHOULD NOT FORMAT TO -->
<div *ngIf="shouldShowThisThing"
     class="my-cool-class">
</div>

Случай 2

Если мои атрибуты не помещаются в одной строке, но я указал, что я хочу, чтобы первый атрибут был рядом с именем тега, тогда он должен поместить каждый атрибут в другую строку, выровненную по первому атрибуту.

<!-- WHAT I WROTE -->
<input *ngIf="shouldShowThisThing"
    class="my-cool-class"
    [value]="someValue" (click)="doSomething()" />
<!-- FORMATS TO -->
<input *ngIf="shouldShowThisThing"
       class="my-cool-class"
       [value]="someValue"
       (click)="doSomething()" />
<!-- SHOULD NOT FORMAT TO -->
<input *ngIf="shouldShowThisThing"
    class="my-cool-class"
    [value]="someValue"
    (click)="doSomething()" />
<!-- SHOULD NOT FORMAT TO -->
<input
    *ngIf="shouldShowThisThing"
    class="my-cool-class"
    [value]="someValue"
    (click)="doSomething()" />

Случай 3

Если все мои атрибуты не помещаются в одну строку, но я указал, что хочупервый атрибут в строке после имени тега, затем он должен иметь отступ для каждого атрибута, эквивалентный двум вкладкам (если на одной вкладке 2 пробела, то он должен отступать на 4 пробела):

<!-- WHAT I WROTE -->
<input
    *ngIf="shouldShowThisThing"
    class="my-cool-class"
    [value]="someValue" (click)="doSomething()" />
<!-- FORMATS TO -->
<input
    *ngIf="shouldShowThisThing"
    class="my-cool-class"
    [value]="someValue"
    (click)="doSomething()" />
<!-- SHOULD NOT FORMAT TO -->
<input *ngIf="shouldShowThisThing"
       class="my-cool-class"
       [value]="someValue"
       (click)="doSomething()" />

Случай 4

Если атрибуты не помещаются в одной строке, конечный тег shможет быть выровнен с начальным тегом:

<!-- FORMATS TO -->
<my-component
    *ngIf="shouldShowThisThing"
    class="my-cool-class"
    [value]="someValue"
    (click)="doSomething()">
</my-component>
<!-- SHOULD NOT FORMAT TO -->
<my-component
    *ngIf="shouldShowThisThing"
    class="my-cool-class"
    [value]="someValue"
    (click)="doSomething()"></my-component>

Мой Intellij настроен для форматирования моего HTML таким образом, но я не могу понять, как заставить работать форматировщики VS Code так жепуть.Если у кого-нибудь есть указатели, пожалуйста, дайте мне знать!

...