DEV Community

Laura Grassi
Laura Grassi

Posted on

🚀 Emmet in VSCode ✨

"The odds are never impossible.. Merely unfavorable

Emmet is an integrated tool in Visual Studio Code that helps us write HTML and CSS code more quickly. It allows us to expand simple abbreviations into complete code blocks, saving time and reducing repetitive typing. ⏱️

Key Features of Emmet 🛠️

  • Abbreviation Expansion: Transform abreviations into complete code. 📝
  • Code Snippets: Shortcuts that quickly insert predefined code structures. ⚡
  • Fast Navigation and Editing: Allows quick navigatio and editing of similar elements within the code. 🏃‍♂️

Practical Examples of Abbreviations 🔍

1 - Create a div with a specific class and/or ID

  • Abbreviation: .className or #idName
  • Example: Typing .container and pressing Enter expands to:

     <div class="container"></div>
    

div with a specific class

2 - Create an unrdered list with items

  • Abbreviation: ul>li*3
  • Example: Typing ul>li*3 and pressing Enter expands to:

     <ul>
       <li></li>
       <li></li>
       <li></li>
     </ul>
    

Create an unordered list with items example

3 - Create a link with text

  • Abbreviation: a[href="link"]{text}
  • Example: Typing a[href="https://example.com"]{Test} and pressing Enter expands to:

     <a href="https://example.com">Test</a>
    

4 - Basic HTML structure

  • Abbreviation: !
  • Example: Typing ! and pressing Enter expands to the basic HTML structure.

Basic HTML Structure

5 - Create a paragraph with text

  • Abbreviation: p{text}
  • Example: Typing p{This is a paragraph} and pressing Enter expands to:

     <p>This is a paragraph</p>
    

Paragraph with text

6 - Create an image with src and alt attributes

  • Abbreviation: img[src="path"][alt="description"]
  • Example: Typing img[src="image.jpg"][alt="Image description"] and pressing Enter expands to:

     <img src="image.jpg" alt="Image description">
    

Image with src and alt atributes

7 - Create a form with input field and submit button

  • Abbreviation: form>input[type="text" name="name"]+button[type="submit"]{Submit}
  • Example: Typing form>input[type="text" name="name"]+button[type="submit"]{Submit} and pressing Enter expands to:

     <form>
       <input type="text" name="name">
       <button type="submit">Submit</button>
     </form>
    

Form with input and submit button

8 - Create a structure with child elements (more than one element)

  • Abbreviation: .container>a+p
  • Example: Typing .container>a+p and pressing Enter expands to:

     <div class="container">
       <a href=""></a>
       <p></p>
     </div>
    

Structure with child elements

These are just a few examples of what you can do with Emmet in VSCode. The efficiency provided by these shortcuts can significantly transform your routine. 💡

May the force be with you all. bye-bye

Top comments (11)

Collapse
 
macx profile image
David Maciejewski

Use $ to level up the game. Try ul.test>li*10>a[href="page$.html"]{Sub page $}

This will result in:

<ul class="test">
    <li><a href="page1.html">Sub page 1</a></li>
    <li><a href="page2.html">Sub page 2</a></li>
    <li><a href="page3.html">Sub page 3</a></li>
    <li><a href="page4.html">Sub page 4</a></li>
    <li><a href="page5.html">Sub page 5</a></li>
    <li><a href="page6.html">Sub page 6</a></li>
    <li><a href="page7.html">Sub page 7</a></li>
    <li><a href="page8.html">Sub page 8</a></li>
    <li><a href="page9.html">Sub page 9</a></li>
    <li><a href="page10.html">Sub page 10</a></li>
  </ul>
Enter fullscreen mode Exit fullscreen mode
Collapse
 
dmiller72 profile image
David Miller

Much appreciated for this reminder. Helps me work smart and not as hard

Collapse
 
jliter profile image
John Liter

This really cool. I am going to use this. Thank you for creating and sharing!

Collapse
 
isjasrajchouhan profile image
Jasraj Chouhan

I tried all the emmet shortcuts and it is very awesome.
Thank you so much.

Collapse
 
mayor profile image
Mayowa

As a beginner I really find this very helpful.
Thank you!

Collapse
 
enoch91 profile image
Enoch Osarenren

Hello everyone, I hope you're all doing well. I recently launched an open-source project called GraphQLPlaceholder, and I'd love your support. Please check it out and give it a star on GitHub github.com/enochval/graphql-placeh.... Your support would mean a lot to me and help immensely in the project's growth.

Thank you.

Collapse
 
egorxyz profile image
Egor Stronhin • Edited

You can use a double dot to work with CSS modules: ..myStyle

<div className={styles.myStyle}></div>
Enter fullscreen mode Exit fullscreen mode
Collapse
 
pra3t0r5 profile image
Pra3t0r5

It's awesome! I will have to clean a bit my VSCode extensions, I believe that this will colision a lot with other snippets...

Does it supports JSX?

Collapse
 
902 profile image
Aleksandr

Thanks for sharing

Collapse
 
princecode profile image
Prince Malongo

Yeah, developer's pizza. Thanks bro we appreciate

Collapse
 
malik_yasir_2102098f1cab1 profile image
Malik Yasir