Emmet Abbreviations in VSCode

Emmet Abbreviations in VSCode

Apparently there’s this plugin for many IDEs called Emmet which makes writing HTML very fast!

Here’s the Emmet Cheat Sheet

Here’s a great video on it:

https://www.youtube.com/watch?v=V8vizNQKtx0

Start all HTML projects by just typing !:

start html file.png

Then, hit ENTER (not Tab) to complete to this boilerplate!

enter completes.png

Start by typing the name of the tag you want … then hit ENTER (not Tab) to complete.

e.g. div (ignore Cursor’s autocomplete suggestions behind it)

div.png

Then, ENTER:

div complete.png

That works with any HTML element. It gets even better, though. You can quickly generate CSS and other HTML attributes.

For example, a <span> with the CSS class purple:

span purple.png

ENTER completes it to:

span purple complete.png

Similarly, adding an id= attribute to an element:

span purple id.png

ENTER completes to:

span purple id complete.png

You can complete all of the attributes you want for an element by chaining them as so:

div class id.png

ENTER completes to:

div class id complete.png

You can write these things the way that CSS Selectors are written.

CSS selectors.png

So, a <div> with a class of purple and a child <span> with class cyan is:

div purple span cyan.png

ENTER completes to:

div purple span cyan complete.png

You can nest all of your elements similarly:

header nav ul li.png

Becomes:

header nav ul complete.png

If you wanted 3 <li> elements as children of the <ul>, you can use * multiplication:

header nav ul li 3.png

Becomes:

header nav ul li 3 complete.png

Want to add text to each of those <li> elements? Use the { } operators:

header nav ul li 3 text.png

Becomes:

header nav ul li 3 text complete.png

Add numbers to those list items:

header nav ul li 3 text 1 2 3.png

Becomes:

header nav ul li 3 text 1 2 3 complete.png

The $ operator can be used in any other attribute also. e.g. .class$ becomes .class-1, .class-2, etc …

Add additional $ to zero-pad the numbers.

zero padded.png

Becomes:

zero padded complete.png

Add sibling elements using the + operator.

add sibling elements.png

Becomes:

add sibling elements complete.png

Group elements together to implement more complex, yet readable, structures. For example, if we wanted a <header> with a <nav> child, then the <main> and <footer> siblings as before, we can group with the ( ) operators.

group elements.png

Becomes:

group elements complete.png

Let’s combo it up! We want:

  • Header
    • H2, with text
    • Nav
      • Ordered List
      • 5 list elements, with links (anchor tags)
  • Main
  • Footer

To accomplish this, we write:

combo.png

Which becomes:

combo complete.png

Building Forms using Emmet

links