Skip to content

David-Klemenc/angular-template-formatter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Angular Template Formatter README

Extension for formatting Angular 2+ HTML templates. This extension is opinionated and not very configurable.

Formatting:

When run, this extension will put each HTML attribute on its own line—unless there is a single attribute declared on the HTML tag. In the case of a single attribute, the tag and attribute will be put on a single line.

Example:

This template from the Angular Tour of Heroes:

<div id="search-component">
  <h4>Hero Search</h4>
  <input #searchBox id="search-box" (keyup)="search(searchBox.value)" />
  <div>
    <div *ngFor="let hero of heroes | async"
         (click)="gotoDetail(hero)" class="search-result" >
      {{hero.name}}
    </div>
  </div>
</div>

will get formatted to:

<div id="search-component">
    <h4>Hero Search</h4>
    <input
        #searchBox
        id="search-box"
        (keyup)="search(searchBox.value)">
    <div>
        <div
            *ngFor="let hero of heroes | async"
            (click)="gotoDetail(hero)"
            class="search-result">
            {{hero.name}}
        </div>
    </div>
</div>

Svg prefixes will remain intact:

<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
    <svg:path d="M20.5 6c-2.61.7-5.67 1-8.5 1s-5.89-.3-8.5-1L3 8c1.86.5 4 .83 6 1v13h2v-6h2v6h2V9c2-.17 4.14-.5 6-1l-.5-2zM12 6c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z"/>
    <svg:path fill="none" d="M0 0h24v24H0z"/>
</svg>

Recommended Configuration:

{
    // turn off default vs code formatter
    "html.format.enable": false,
    // enable formatting by default
    "editor.formatOnSave": true,
    "editor.formatOnPaste": true
}

Release Notes

0.1.3

Svg prefixes are mantained (svg:path, svg:g ...)

0.1.2

Preserves HTML escaped entitities

0.1.1

Does not remove <!DOCTYPE> tags when formatting.

0.1.0

Now formats svgs in templates

0.0.8

Added option for preventing closing tag > from being on their own line: angular-template-formatter.closeTagSameLine. Thanks @larscom!

0.0.7

Added an option for tabs vs spaces. Thanks @Empereol!

0.0.2

Added configuration option for indentWidth, defaults to 4.

0.0.1

Initial release of Angular template formatter

About

Extension for vs code to automatically format angular templates.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 100.0%