DEV Community

vaidhyanathan
vaidhyanathan

Posted on

My ultimate VSCode configuration

I used to love vim a lot but now a days I switched to VSCode because of the delicate balance between the UX and plugins.

The following is my settings.json file. You can probably use the same too.

Please do add your configuration too

Disabled Minimap - since we are writing modular code there is no need for this.

"editor.minimap.enabled": false

Autosave Enabled - AutoSave enabled so that there is no need for cmd+s always

    "files.autoSave": "afterDelay",
    "files.autoSaveDelay": 5000,

Exclusion - These are the large files and folders which will make VSCode cry . Please do add the same to your configuration also.

    "files.watcherExclude": {
        "**/.git/objects/**": true,
        "**/.git/subtree-cache/**": true,
        "**/node_modules/**": true,
        "**/tmp/**": true,
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/CVS": true,
        "**/.DS_Store": true,
        "**/node_modules": true,
        "**/bower_components": true,
        "**/dist/**": true,
        "**/log/**": true,
        "**/logs/**": true,
        "**/.fdk/**": true
    },
    "files.exclude": {
        "**/.git/objects/**": true,
        "**/.git/subtree-cache/**": true,
        "**/node_modules/**": true,
        "**/tmp/**": true,
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/CVS": true,
        "**/.DS_Store": true,
        "**/node_modules": true,
        "**/bower_components": true,
        "**/dist/**": true,
        "**/log/**": true,
        "**/.fdk/**": true
    },
    "search.exclude": {
        "**/.git/objects/**": true,
        "**/.git/subtree-cache/**": true,
        "**/node_modules/**": true,
        "**/tmp/**": true,
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/CVS": true,
        "**/.DS_Store": true,
        "**/node_modules": true,
        "**/bower_components": true,
        "**/dist/**": true,
        "**/log/**": true
    },

Tab Size - We can still be friends with 2 spaces for tab.Change this based on your source code.

"editor.tabSize": 2,

Final Json for VSCode


{
    "ruby.intellisense": "rubyLocate",
    "gitlens.advanced.messages": {
        "suppressShowKeyBindingsNotice": true
    },
    "workbench.statusBar.feedback.visible": false,
    "search.location": "sidebar",
    "window.zoomLevel": 0,
    "workbench.iconTheme": "vscode-icons",
    "files.watcherExclude": {
        "**/.git/objects/**": true,
        "**/.git/subtree-cache/**": true,
        "**/node_modules/**": true,
        "**/tmp/**": true,
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/CVS": true,
        "**/.DS_Store": true,
        "**/node_modules": true,
        "**/bower_components": true,
        "**/dist/**": true,
        "**/log/**": true,
        "**/logs/**": true,
        "**/.fdk/**": true
    },
    "files.exclude": {
        "**/.git/objects/**": true,
        "**/.git/subtree-cache/**": true,
        "**/node_modules/**": true,
        "**/tmp/**": true,
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/CVS": true,
        "**/.DS_Store": true,
        "**/node_modules": true,
        "**/bower_components": true,
        "**/dist/**": true,
        "**/log/**": true,
        "**/.fdk/**": true
    },
    "search.exclude": {
        "**/.git/objects/**": true,
        "**/.git/subtree-cache/**": true,
        "**/node_modules/**": true,
        "**/tmp/**": true,
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/CVS": true,
        "**/.DS_Store": true,
        "**/node_modules": true,
        "**/bower_components": true,
        "**/dist/**": true,
        "**/log/**": true
    },
    "editor.fontSize": 16,
    "editor.tabSize": 2,
    "emmet.includeLanguages": {
        "html": "html",
        "javascript": "javascriptreact"
    },
    "files.autoSave": "afterDelay",
    "files.autoSaveDelay": 5000,
    "terminal.external.osxExec": "iTerm.app",
    "terminal.integrated.shell.osx": "zsh",
    "editor.wordWrap": "on",
    "editor.formatOnSave": true,
    "editor.formatOnPaste": true,
    "editor.minimap.enabled": false,
    "editor.fontLigatures": true,
    "workbench.editor.highlightModifiedTabs": true,
    "explorer.sortOrder": "modified",
    "files.trimFinalNewlines": true
}

Top comments (6)

Collapse
 
moopet profile image
Ben Sinclair

I used to love vim a lot but now a days I switched to VSCode because of its minimal implementation and plugins.

I'm not sure I follow you on this. How is VSCode more "minimal" than Vim?

since we are writing modular code

We are? We're lucky :P

I don't think I'd want autosave enabled in my VSCode because VSCode doesn't seem to be very good at having a persistent undo like Vim. I'd worry that I'd lose work.

Collapse
 
vaidhyanathan93 profile image
vaidhyanathan

I wanted to put this way
VSCode is having delicate balance between UX, Plugins and customisation.

Corrected :)

Collapse
 
puritanic profile image
Darkø Tasevski • Edited

You are missing "Highly opinionated" in Ulitmate VSCode Configuration title :) Also, you have a typo in it.

Collapse
 
vaidhyanathan93 profile image
vaidhyanathan

Corrected :) Thanks

Collapse
 
vladimir_dev profile image
vladimir.dev

Nice. I wouldn't use all of them probably, but it's good to know they're there.

Collapse
 
rediffusion profile image
rediffusion

Too simple.