With VS Code you have the ability to customize your spaces vs tabs preference, like in any editor, and also the option to choose how many spaces should a tab take.

Different languages however might require different settings.

For example I like to have 4 spaces in HTML, but only 2 in CSS and JavaScript.

Go on the other hand wants 8 spaces.

How to deal with this?

You can add language-specific settings into the VS Code preferences file (opened with cmd+,).

This is an example that uses different settings for JS, CSS, HTML and Go files:

"[javascript]": {
    "editor.insertSpaces": true,
    "editor.tabSize": 2
"[css]": {
    "editor.insertSpaces": true,
    "editor.tabSize": 2
"[html]": {
    "editor.insertSpaces": true,
    "editor.tabSize": 4
"[go]": {
    "editor.insertSpaces": false,
    "editor.tabSize": 8

Did you know?

I have 7 premium training programs that will transform you, quickly, into an excellent Node/React/JS/Vue/Next.js/Svelte developer. Choose your own adventure. Practical lessons to learn the 80% of the things that you need to know, in 20% of the time!

⬇️ ⬇️ ⬇️

Check out all my courses now!

⬆️ ⬆️ ⬆️