Я ищу плагин 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 так жепуть.Если у кого-нибудь есть указатели, пожалуйста, дайте мне знать!