Skip to content

Instantly share code, notes, and snippets.

@ruandre
Last active February 8, 2022 17:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ruandre/0f13d4107c4e705501213be48193668c to your computer and use it in GitHub Desktop.
Save ruandre/0f13d4107c4e705501213be48193668c to your computer and use it in GitHub Desktop.
VSCode Settings

VSCode Settings

There's a built-in sync feature: https://code.visualstudio.com/docs/editor/settings-sync

I'm sharing this as a gist so that people may grab bits and pieces if they feel like it 🤷


You can easily install the extensions below by:

  1. creating a folder with .vscode/extensions.json
  2. pasting below JSON into that file
  3. opening the folder in VSCode
  4. navigating to "Extensions" (ctrl+shift+x)
  5. you should see "workspaces recommendations"

More info here: https://code.visualstudio.com/docs/editor/extension-gallery#_workspace-recommended-extensions

If you want to build up a list of extension recommendations yourself, you can run code --list-extensions in your terminal and then simply copy the output and modify it (or pipe into jq or some shell script to do this for you).

.vscode/extensions.json

{
  "recommendations": [
    "aaron-bond.better-comments",
    "alefragnani.Bookmarks",
    "andys8.jest-snippets",
    "astro-build.astro-vscode",
    "austenc.tailwind-docs",
    "BeardedBear.beardedtheme",
    "betterthantomorrow.calva",
    "bierner.color-info",
    "bierner.comment-tagged-templates",
    "bierner.docs-view",
    "bierner.emojisense",
    "bierner.github-markdown-preview",
    "bierner.markdown-checkbox",
    "bierner.markdown-emoji",
    "bierner.markdown-mermaid",
    "bierner.markdown-preview-github-styles",
    "bierner.markdown-shiki",
    "bierner.markdown-yaml-preamble",
    "bourhaouta.tailwindshades",
    "bradlc.vscode-tailwindcss",
    "BriteSnow.vscode-toggle-quotes",
    "christian-kohler.npm-intellisense",
    "christian-kohler.path-intellisense",
    "codezombiech.gitignore",
    "danielsousadev.styled-components-snippets",
    "dbaeumer.vscode-eslint",
    "DigitalBrainstem.javascript-ejs-support",
    "donjayamanne.githistory",
    "dsznajder.es7-react-js-snippets",
    "dustypomerleau.rust-syntax",
    "dzhavat.css-flexbox-cheatsheet",
    "eamodio.gitlens",
    "EditorConfig.EditorConfig",
    "eg2.vscode-npm-script",
    "elmTooling.elm-ls-vscode",
    "esbenp.prettier-vscode",
    "formulahendry.auto-close-tag",
    "formulahendry.auto-rename-tag",
    "fosshaas.fontsize-shortcuts",
    "gera2ld.markmap-vscode",
    "GitHub.copilot",
    "GitHub.github-vscode-theme",
    "GitHub.remotehub",
    "GitHub.vscode-pull-request-github",
    "golang.go",
    "Gruntfuggly.scoper",
    "Gruntfuggly.todo-tree",
    "haskell.haskell",
    "hbenl.vscode-test-explorer",
    "heaths.vscode-guid",
    "HookyQR.beautify",
    "hoovercj.vscode-settings-cycler",
    "IBM.output-colorizer",
    "inu1255.easy-snippet",
    "jakearl.search-editor-apply-changes",
    "JakeBecker.elixir-ls",
    "jock.svg",
    "johnnywong.vscode-ts-whitespace-converter",
    "jonkwheeler.styled-components-snippets",
    "jrebocho.vscode-random",
    "juliettepretot.lucy-vscode",
    "justusadam.language-haskell",
    "kbysiec.vscode-go-to-mdn",
    "kisstkondoros.csstriggers",
    "kisstkondoros.typelens",
    "kisstkondoros.vscode-gutter-preview",
    "letmaik.git-tree-compare",
    "lightyen.tailwindcss-intellisense-twin",
    "matklad.rust-analyzer",
    "mechatroner.rainbow-csv",
    "medo64.render-crlf",
    "mhutchie.git-graph",
    "mike-co.import-sorter",
    "mikestead.dotenv",
    "mrmlnc.vscode-attrs-sorter",
    "ms-azuretools.vscode-docker",
    "ms-kubernetes-tools.vscode-kubernetes-tools",
    "ms-vscode-remote.remote-containers",
    "ms-vscode-remote.remote-wsl",
    "ms-vscode.live-server",
    "ms-vscode.test-adapter-converter",
    "naumovs.color-highlight",
    "necinc.elmmet",
    "nhoizey.gremlins",
    "nicoespeon.abracadabra",
    "Orta.vscode-jest",
    "panicbit.cargo",
    "pflannery.vscode-versionlens",
    "PKief.material-icon-theme",
    "qcz.text-power-tools",
    "quicktype.quicktype",
    "redhat.vscode-yaml",
    "sdras.night-owl",
    "serayuzgur.crates",
    "shardulm94.trailing-spaces",
    "silvenon.mdx",
    "sleistner.vscode-fileutils",
    "stkb.rewrap",
    "streetsidesoftware.code-spell-checker",
    "styled-components.vscode-styled-components",
    "svelte.svelte-vscode",
    "svipas.control-snippets",
    "sysoev.language-stylus",
    "tamasfe.even-better-toml",
    "tgreen7.vs-code-node-require",
    "Tyriar.sort-lines",
    "Tyriar.windows-terminal",
    "usernamehw.errorlens",
    "vadimcn.vscode-lldb",
    "VisualStudioExptTeam.vscodeintellicode",
    "vscode-icons-team.vscode-icons",
    "vsls-contrib.gistfs",
    "webhint.vscode-webhint",
    "wmaurer.change-case",
    "wwm.better-align",
    "xabikos.JavaScriptSnippets",
    "yasht.terminal-all-in-one"
  ]
}

You can add below to keybindings.json via ctrl+shift+p ▶️ Preferences: Open Keyboard Shortcuts (JSON)

More info: https://code.visualstudio.com/docs/getstarted/keybindings#_advanced-customization

keybindings.json

[
  {
    "key": "ctrl+j",
    "command": "editor.action.joinLines",
    "when": "editorFocus"
  },
  {
    "key": "ctrl+alt+,",
    "command": "workbench.action.openSettings"
  },
  {
    "key": "ctrl+alt+b",
    "command": "workbench.action.toggleActivityBarVisibility"
  },
  {
    "key": "alt+shift+b",
    "command": "workbench.action.toggleStatusbarVisibility"
  },
  {
    "key": "ctrl+shift+l",
    "command": "settings.cycle.lineNumbers",
    "when": "editorFocus"
  },
  {
    "key": "alt+shift+l",
    "command": "editor.action.toggleRenderWhitespace",
    "when": "editorFocus"
  }
]

You can add below to settings.json via ctrl+shift+p ▶️ Preferences: Open Settings (JSON)

settings.json

{
  "breadcrumbs.enabled": false,
  "cSpell.allowCompoundWords": true,
  "debug.inlineValues": true,
  "debug.showBreakpointsInOverviewRuler": true,
  "debug.toolBarLocation": "docked",
  "diffEditor.ignoreTrimWhitespace": false,
  "diffEditor.renderSideBySide": true,
  "editor.codeActionsOnSave": { "source.fixAll": true },
  "editor.cursorBlinking": "phase",
  "editor.cursorWidth": 3,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.folding": true,
  "editor.fontFamily": "JetBrains Mono",
  "editor.fontLigatures": true,
  "editor.fontSize": 20,
  "editor.formatOnPaste": true,
  "editor.formatOnSave": true,
  "editor.gotoLocation.multipleDeclarations": "goto",
  "editor.gotoLocation.multipleDefinitions": "goto",
  "editor.gotoLocation.multipleImplementations": "goto",
  "editor.gotoLocation.multipleReferences": "goto",
  "editor.gotoLocation.multipleTypeDefinitions": "goto",
  "editor.guides.indentation": false,
  "editor.inlineSuggest.enabled": true,
  "editor.lineHeight": 0,
  "editor.lineNumbers": "off",
  "editor.matchBrackets": "always",
  "editor.minimap.enabled": false,
  "editor.quickSuggestionsDelay": 0,
  "editor.rename.enablePreview": false,
  "editor.renderControlCharacters": true,
  "editor.renderLineHighlight": "none",
  "editor.renderWhitespace": "none",
  "editor.smoothScrolling": true,
  "editor.snippetSuggestions": "top",
  "editor.suggest.preview": true,
  "editor.suggestSelection": "first",
  "editor.tabCompletion": "on",
  "editor.tabSize": 2,
  "editor.trimAutoWhitespace": true,
  "editor.wordWrap": "off",
  "emmet.includeLanguages": { "ejs": "html", "javascript": "javascriptreact" },
  "emmet.triggerExpansionOnTab": true,
  "errorLens.delay": 1,
  "errorLens.enabledDiagnosticLevels": ["error"],
  "errorLens.fontSize": "16",
  "eslint.alwaysShowStatus": true,
  "explorer.confirmDelete": false,
  "explorer.sortOrder": "type",
  "extensions.closeExtensionDetailsOnViewChange": true,
  "files.trimTrailingWhitespace": true,
  "git.autofetch": true,
  "git.enableSmartCommit": true,
  "grunt.autoDetect": "off",
  "gulp.autoDetect": "off",
  "html.format.extraLiners": "",
  "html.format.indentInnerHtml": false,
  "html.format.preserveNewLines": false,
  "html.format.wrapLineLength": 990,
  "jake.autoDetect": "off",
  "javascript.suggestionActions.enabled": false,
  "javascript.updateImportsOnFileMove.enabled": "always",
  "php.suggest.basic": false,
  "problems.autoReveal": false,
  "redhat.telemetry.enabled": false,
  "scoper.highlightColor": "#00000033",
  "search.useIgnoreFiles": true,
  "settings.cycle": [
    {
      "id": "lineNumbers",
      "values": [
        { "editor.lineNumbers": "off" },
        { "editor.lineNumbers": "on" }
      ]
    }
  ],
  "svelte.enable-ts-plugin": true,
  "tabnine.experimentalAutoImports": false,
  "telemetry.telemetryLevel": "off",
  "terminal.integrated.cursorBlinking": true,
  "terminal.integrated.cursorStyle": "line",
  "terminal.integrated.drawBoldTextInBrightColors": false,
  "terminal.integrated.enableBell": true,
  "terminal.integrated.fontFamily": "JetBrains Mono",
  "terminal.integrated.fontSize": 14,
  "typescript.updateImportsOnFileMove.enabled": "always",
  "window.menuBarVisibility": "toggle",
  "window.newWindowDimensions": "offset",
  "window.restoreFullscreen": true,
  "window.titleBarStyle": "custom",
  "window.zoomLevel": 0,
  "workbench.colorTheme": "lucy-evening",
  "workbench.editor.highlightModifiedTabs": true,
  "workbench.editor.showTabs": false,
  "workbench.editor.tabCloseButton": "off",
  "workbench.experimental.layoutControl.enabled": true,
  "workbench.iconTheme": "material-icon-theme",
  "workbench.list.horizontalScrolling": true,
  "workbench.settings.editor": "json",
  "workbench.settings.useSplitJSON": true,
  "workbench.startupEditor": "none",
  "workbench.statusBar.visible": false,
  "workbench.tree.renderIndentGuides": "none",
  "workbench.view.alwaysShowHeaderActions": true,
  "workbench.colorCustomizations": {
    "terminalCursor.background": "#ff5874",
    "terminalCursor.foreground": "#ff5874",
    "terminal.foreground": "#acb4c2",
    "terminal.background": "#011627",
    "terminal.ansiBlack": "#1d3b53",
    "terminal.ansiRed": "#fc514e",
    "terminal.ansiGreen": "#a1cd5e",
    "terminal.ansiYellow": "#e3d18a",
    "terminal.ansiBlue": "#82aaff",
    "terminal.ansiMagenta": "#c792ea",
    "terminal.ansiCyan": "#7fdbca",
    "terminal.ansiWhite": "#a1aab8",
    "terminal.ansiBrightBlack": "#7c8f8f",
    "terminal.ansiBrightRed": "#ff5874",
    "terminal.ansiBrightGreen": "#21c7a8",
    "terminal.ansiBrightYellow": "#ecc48d",
    "terminal.ansiBrightBlue": "#82aaff",
    "terminal.ansiBrightMagenta": "#ae81ff",
    "terminal.ansiBrightCyan": "#7fdbca",
    "terminal.ansiBrightWhite": "#d6deeb"
  }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment