Speed Up Your HTML Coding with Emmet in Visual Studio Code
3 to 4 min read

If you're a web developer, you know that writing HTML can sometimes be repetitive and time-consuming. Fortunately, Visual Studio Code (VS Code) offers a powerful tool called Emmet, which allows you to use abbreviations to generate HTML quickly and efficiently. In this blog post, we'll explore how to use Emmet in VS Code to streamline your HTML coding workflow.
What is Emmet?
Emmet is a toolkit for web developers that provides a shorthand way to write HTML and CSS code. By typing short abbreviations and then expanding them with a single keystroke, you can create complex code structures in seconds. Emmet is built into VS Code, so you can start using it right away
Getting Started with Emmet
To use Emmet in VS Code, simply open a new or existing HTML file and start typing your abbreviation. Here are some basic examples:
-
Basic HTML Template
Typehtml:5
and press Tab or Enter.This expands to:<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html> -
Creating Elements
Typediv
and press Tab to get<div></div>
For a paragraph, type p and press Tab to get<p></p>
.
Using Class and ID Abbreviations
You can quickly create elements with classes and IDs using the . and # symbols:
-
div.container → <div class="container"></div>
-
div#main → <div id="main"></div>
-
div.container#main → <div class="container" id="main"></div>
Nesting Elements
To create nested elements, use the Angle brackets > symbol:
-
div>ul>li →
<div> <ul> <li></li> </ul> </div>
Sibling Elements
To create sibling elements, use the + symbol:
-
div+span →
<div></div> <span></span>
Grouping Elements
You can group elements using parentheses () to create more complex structures:
-
div>(header>h1)+footer →
<div>
<header> <h1></h1> </header>
<footer></footer>
</div>
Item Multiplication
To create multiple items, use the * symbol:
-
ul>li.item*3 →
<ul>
<li class="item"></li>
<li class="item"></li>
<li class="item"></li>
</ul>
Custom Text
You can include custom text inside elements using curly braces {}:
-
a{Click me} → <a>Click me</a>
Adding Attributes
To add attributes to elements, use square brackets []:
-
input[type="text"] → <input type="text">
-
a[href="https://example.com"]{Example} → <a href="https://example.com">Example</a>
Advanced Examples
Here are some more advanced Emmet abbreviations to showcase its power:
Complex Structures
div.container>header>h1{Welcome}+nav> ul>li*3>a[href="#"]{Link $}+main>section>h2{Section $}*2+footer>p{©2024}
Expands to:
<div class="container">
<header>
<h1>Welcome</h1>
<nav>
<ul>
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
</ul>
</nav>
</header>
<main>
<section> <h2>Section 1</h2> </section>
<section> <h2>Section 2</h2> </section>
</main>
<footer> <p>© 2024</p> </footer>
</div>
Tables
table>thead>tr>th*3+tbody>tr*2>td*3
Expands to:
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
Customizing Emmet in VS Code
Emmet is enabled by default in VS Code, but you can customize its settings by going to File > Preferences > Settings (or pressing Ctrl+,). In the settings, search for "Emmet" to find various options, such as expanding abbreviations with different key bindings or enabling/disabling certain features.
Conclusion
Emmet is a powerful tool that can greatly speed up your HTML coding in Visual Studio Code. By learning and utilizing these abbreviations, you can save time and improve your productivity. Whether you're a beginner or an experienced developer, Emmet offers a wide range of shortcuts that make writing HTML faster and more enjoyable. Happy coding!