# How VSCode Became the Ultimate Editor for Web Developers

> You can find the Chinese version at [新一代的編輯器 — VSCode](https://larrylu.blog/vscode-1b6f24e082ba).

There is a proverb that says, ***"If a workman wishes to do a good job, he must first sharpen his tools."*** For programmers, having a useful editor is crucial. Since many of my friends have asked me about which editor to choose, I'm writing this article to explain why I prefer to use [VSCode](https://code.visualstudio.com/).

## Ten reasons why I think VSCode is very powerful

### 1\. Color Picker

When you have the color code, but don't know what the color looks like, or if you want to pick a suitable color but don't know where to find the palette, you can use the built-in Color Picker in VSCode.

![Color Picker](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rfq6wz3v1i1v58e4imy7.png align="left")

### 2\. Git Integration

Still using `git diff` command to view changes?

![Git1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/16a3pt2pi145i967t2hb.png align="left")

You can view them directly with better UI in VSCode.

![Git2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vull6qcztf5nwwwhzxbo.png align="left")

### 3\. Built-in Emmet

VSCode has a built-in [**Emmet**](https://docs.emmet.io/abbreviations/syntax/) feature that **speeds up writing HTML**. and makes you look more like a professional developer!

![Emmet Expansion](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aghhwgu099ogh9iifrgf.gif align="left")

### 4\. Quickly jump to the file you are looking for in just a moment

Press `<Cmd/Ctrl> + P` to quickly jump to the file with a given filename.

![Jump to file by filename](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hb9c85k1jlqqd4l3lsiu.gif align="left")

Use `Cmd/Ctrl + Click` to navigate to the imported script.

![Jump to file by reference](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m4lkqt05yodo71tuqnew.gif align="left")

### 5\. Create your own **Code Snippets**

Write code more efficiently with handy code snippets like `this.setState()` in React.

![Custom code snippet](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0s653s7q6px64tv5rbjb.gif align="left")

### 6\. Distinctive icons

There are different icons for different kinds of files, which making it easy to distinguish files in a glimpse.

![Icon](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4462nzfxlobdbgptaq55.png align="left")

### 7\. Powerful Intellisense

VSCode provides information on the parameter name, and type, which is very useful!

![show property name](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ndilqdgkegjnhbblmiw5.png align="left")

![show parameter name](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6bdsbo1tcx3vwhgvky1s.png align="left")

### 8\. Multi Cursor

The multi-cursor feature allows you to edit multiple places at the same time.

![multi cursor editting](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r355mkqiyshm6wp82sn0.gif align="left")

### 9\. Auto Formatting

You don't have to worry about the formatting and indentation because VSCode will do it automatically for you. If your team has a style guide, you can also do the formatting with ESLint.

![Auto Formatting](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a1rs1bmxb5v3nmul3xbo.gif align="left")

### 10\. Debug

VSCode allows you to set breakpoints while debugging, which makes it easier to see the call stack and check the value of variables.

![breakpoint](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gb8owl9ab0k6i6lil7by.png align="left")

## Mature Community

Along with its powerful built-in features, VSCode also has a mature developer community, with many free plugins and themes. Additionally, VSCode receives frequent updates.

![extensions](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eh8z4ic0rnaiqvkdno0i.png align="left")

## Compare with other editors

### Vim

I used Vim for a long time before discovering VSCode. While Vim allows extensive customization, its steep learning curve and numerous shortcuts can be challenging. Nevertheless, Vim is still a good editor and its seamless integration with [tmux](https://dev.to/larrylutw/master-the-art-of-terminal-session-management-with-tmux-4dm8) provide a smooth development experience.

To get the best of both worlds, I now use the [Vim extension](https://marketplace.visualstudio.com/items?itemName=vscodevim.vim) for VSCode.

### Sublime

I only used Sublime for a short time. What I liked about it was the convenience of its package manager and fast startup time. However, it had some drawbacks such as the low update frequency and not being open-sourced. This means that developers can't fix bugs by submitting PRs.

If you're using Sublime and want to try out VSCode, you can consider using the [Sublime Keymap extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.sublime-keybindings). Although I haven't used it yet, the reviews are pretty positive.

---

If you're still hesitating about whether to use VSCode, I highly recommend it. In my opinion, it's the most successful product that Microsoft released.

![Microsoft love Linux](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/65ll6097o4gshr60ejgm.jpeg align="left")

If you think some awesome features aren't mentioned here, please feel free to comment and I'll add them to the post!
