Header image for Emmet Abbreviations in VSCode

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