25 extensions that turn Visual Studio Code into a full-blown JavaScript IDE. Learn more in this blog post.
Note: It can take a few minutes to install the extension pack.
The ES7 snippets extension provides many expandable everyday snippets. For example, defining imports and exports, creating methods and loops, and returning Promises. The extension also contains many snippets for React and GraphQL.
With the Emmet Live extension, you can preview your Emmet output while crafting the Emmet abbreviation.
You can start it with the Emmet Live
command.
When writing tests or creating mockups, it often takes time to come up with good fake data. You can use the vscode-random extension to generate many kinds of random data, such as numbers, locations, emails, IPs, names, and datetime values.
It is easy for typo and small spelling errors to slip into variable and function names, strings, comments, etc. The Code Spell Checker extension highlights those mistakes and can often provide the correct spelling as a fix.
ESLint is the most commonly used JavaScript linter. It helps you "find and fix problems in your JavaScript code." ESLint is very extensible and configurable, and many teams have their own custom rules for their projects. The ESLint extension shows errors and warnings directly in your editor and lets you quick-fix them easily. You can also configure it to auto-fix any problems on save.
The Error Lens extension highlights and displays errors, warnings, and information messages directly in the editor. With it, you don't need to take the extra step of finding out what the squiggly underlines mean - it is right in front of you. If the information gets overwhelming, you can easily toggle it on and off for different message types with the Error Lens: Toggle...
commands.
Formatting code manually is very time-consuming and error-prone. With Prettier, the de-facto standard code formatter of the JavaScript world, you can format your code automatically. You can even configure the Prettier VS Code extension to format the source code when you save it.
The Change Case extension adds a wide range of commands to change the case of the selected text, e.g., into camel case, snake case, Pascal case, etc. The commands all have the Change Case
prefix.
The JavaScript Assistant that I've developed adds 60+ refactorings, quick fixes, and code actions to VS Code. It contains React refactorings, ECMAScript modernizations, syntax and language element conversions, actions for logical expressions and control flow, and code cleanups.
The npm extension validates the installed Node.js modules defined in package.json
files.
The SVG Preview extension does exactly that: show a preview for .svg
files. You can pan and zoom the image in the preview, and it updates automatically when you edit the SVG source.
TOML is a configuration file format that aims to be simple and easily readable. The Even Better TOML extension adds full editor support, including syntax highlighting, folding, navigation, and formatting.
The Better Comments extension shows different kinds of comments in different colors. It supports prefixes like !
, ?
, and TODO
.
TODOs and FIXMEs easily get forgotten about and lost. The Todo Tree extension scans the files in your workspace for TODO and FIXME annotations and organizes them in a sidebar view. You can easily browse them by folder and revisit essential items that come to your attention.
With the Bookmarks extension, you can save and label important source code locations and organize them in a sidebar panel. This can be helpful when you are exploring a complex codebase or when you have locations that you return to frequently.
The Test Explorer is a set of extensions that integrate testing seamlessly into VS Code. Its Test Explorer UI extension adds a side panel for running the tests and seeing the results, and the Test Explorer Status Bar adds the number of tests to the status bar.
The UI components show the information produced by test adapters. Which adapter you need for testing depends on your testing frameworks. For JavaScript, testing adapter extensions for the following test frameworks are available:
- Mocha (included in extension pack)
- Jest (included in extension pack)
- Jasmine
- Angular/Karma
- AVA
- TestyTs
- React-scripts
Visual Studio Code has added native testing capabilities in version 1.59. You can enable them in the Test Explorer by setting testExplorer.useNativeTesting
to true
in the VS Code settings.
The GitLens extension adds several panels to the source control sidebar and enhances the editor with information overlays. The sidebar panels help you manage branches, stashes, commits, file history, remotes, and the editor extensions include a blame view, change indications, an authorship code lens, and more. GitLens is an essential extension that makes working with Git in VS Code much easier.
The Git Graph extension shows the Git history visually in an editor panel. You can open it with the "View Git Graph" command. In the graph view, you can explore individual commits and perform many everyday Git operations. For example, you can check out branches and commits, create branches, cherry-pick commits, perform merges, etc.
The Database Client extension lets you connect to MySQL/MariaDB, PostgreSQL, SQLite, Redis, and ElasticSearch. You can explore databases in its sidebar panel, open database tables as editor panels, and run custom SQL queries. The database table content is editable. Any changes that you make are immediately stored in the database.
The Thunder Client extension integrates a client for REST APIs into VS Code.
It is a lightweight alternative to Postman.
You can send any kind of http(s)
request, see the response data, and organize your requests in collections.
Working with containers has become an essential part of day-to-day development for many software engineers. With the Docker extension, you can explore your running Docker containers, get editor support for Docker files, and more.
You can take beautiful screenshots of your code in no time with the CodeSnap extension.
Start with the CodeSnap
command, select the code you want to screenshot, and click the lense button.