{"data":{"mdx":{"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Vscode\",\n  \"featuredImage\": \"./cover.jpg\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", null, \"Visual Studio Code\"), mdx(\"h2\", null, \"Extensions\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer\"\n  }), \"CoenraadS.bracket-pair-colorizer\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint\"\n  }), \"dbaeumer.vscode-eslint\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"https://marketplace.visualstudio.com/items?itemName=dsznajder.es7-react-js-snippets\"\n  }), \"dsznajder.es7-react-js-snippets\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens\"\n  }), \"eamodio.gitlens\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode\"\n  }), \"esbenp.prettier-vscode\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"https://marketplace.visualstudio.com/items?itemName=formulahendry.auto-close-tag\"\n  }), \"formulahendry.auto-close-tag\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"https://marketplace.visualstudio.com/items?itemName=formulahendry.auto-rename-tag\"\n  }), \"formulahendry.auto-rename-tag\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"https://marketplace.visualstudio.com/items?itemName=mikestead.dotenv\"\n  }), \"mikestead.dotenv\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome\"\n  }), \"msjsdiag.debugger-for-chrome\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"https://marketplace.visualstudio.com/items?itemName=sdras.night-owl\"\n  }), \"sdras.night-owl\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"https://marketplace.visualstudio.com/items?itemName=Tyriar.lorem-ipsum\"\n  }), \"Tyriar.lorem-ipsum\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"https://marketplace.visualstudio.com/items?itemName=vscode-icons-team.vscode-icons\"\n  }), \"vscode-icons-team.vscode-icons\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"https://marketplace.visualstudio.com/items?itemName=vscodevim.vim\"\n  }), \"vscodevim.vim\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"https://marketplace.visualstudio.com/items?itemName=WallabyJs.quokka-vscode\"\n  }), \"WallabyJs.quokka-vscode\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"https://marketplace.visualstudio.com/items?itemName=wesbos.theme-cobalt2\"\n  }), \"wesbos.theme-cobalt2\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"https://marketplace.visualstudio.com/items?itemName=wix.vscode-import-cost\"\n  }), \"wix.vscode-import-cost\"))), mdx(\"p\", null, \"To generate the list\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-javascript\"\n  }), \"const { execSync, spawn } = require('child_process');\\n\\nconst result = execSync('code --list-extensions');\\n\\nconst list = String(result)\\n  .split('\\\\n')\\n  .filter(Boolean)\\n  .map(\\n    (x) => `- [${x}](https://marketplace.visualstudio.com/items?itemName=${x})`\\n  )\\n  .join('\\\\n');\\n\\nconst proc = spawn('pbcopy');\\nproc.stdin.write(list);\\nproc.stdin.end();\\n\")), mdx(\"h2\", null, \"settings.json\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-json\"\n  }), \"{\\n  // ---------------------------------------------------\\n  // Editor Settings\\n  // ---------------------------------------------------\\n  \\\"breadcrumbs.enabled\\\": true,\\n  \\\"diffEditor.ignoreTrimWhitespace\\\": false,\\n  \\\"window.title\\\": \\\"${activeEditorMedium}${separator}${rootName}\\\",\\n  \\\"search.exclude\\\": {\\n    \\\"**/.git\\\": true,\\n    \\\"**/dist\\\": true,\\n    \\\"**/node_modules\\\": true\\n  },\\n  \\\"editor.detectIndentation\\\": false,\\n  \\\"editor.tabSize\\\": 2,\\n  \\\"editor.insertSpaces\\\": true,\\n  \\\"editor.rulers\\\": [80],\\n  \\\"editor.fontFamily\\\": \\\"'Hack', 'Cascadia Code','FiraCode-Retina', Consolas, 'Courier New', monospace\\\",\\n  \\\"editor.fontLigatures\\\": false,\\n  \\\"editor.fontSize\\\": 14,\\n  \\\"editor.formatOnSave\\\": true,\\n  \\\"editor.formatOnType\\\": true,\\n  \\\"editor.codeActionsOnSave\\\": {\\n    \\\"source.fixAll.eslint\\\": true\\n  },\\n  \\\"editor.lineNumbers\\\": \\\"on\\\",\\n  \\\"editor.minimap.size\\\": \\\"fit\\\",\\n  // \\\"editor.mouseWheelZoom\\\": true,\\n  \\\"editor.quickSuggestionsDelay\\\": 0,\\n  \\\"editor.renderWhitespace\\\": \\\"boundary\\\", // \\\"boundary\\\" does not render single space between words\\n  \\\"editor.snippetSuggestions\\\": \\\"top\\\",\\n  \\\"[javascript]\\\": {\\n    \\\"editor.suggestSelection\\\": \\\"recentlyUsed\\\",\\n    \\\"editor.suggest.showKeywords\\\": false\\n  },\\n  \\\"files.autoSave\\\": \\\"onFocusChange\\\",\\n  \\\"javascript.updateImportsOnFileMove.enabled\\\": \\\"always\\\",\\n  \\\"window.zoomLevel\\\": -1,\\n\\n  // ---------------------------------------------------\\n  // workbench config\\n  // ---------------------------------------------------\\n  \\\"workbench.colorTheme\\\": \\\"Night Owl\\\",\\n  \\\"workbench.editor.limit.enabled\\\": true,\\n  \\\"workbench.editor.limit.value\\\": 10,\\n  \\\"workbench.iconTheme\\\": \\\"vscode-icons\\\",\\n  \\\"workbench.sideBar.location\\\": \\\"right\\\",\\n\\n  // ---------------------------------------------------\\n  // terminal config\\n  // ---------------------------------------------------\\n  \\\"terminal.integrated.fontFamily\\\": \\\"MesloLGS NF\\\",\\n\\n  // ---------------------------------------------------\\n  // Emmet Settings (Extension)\\n  // ---------------------------------------------------\\n  \\\"emmet.triggerExpansionOnTab\\\": true,\\n  \\\"emmet.showSuggestionsAsSnippets\\\": true,\\n\\n  // ---------------------------------------------------\\n  // VIM Settings (Extension)\\n  // ---------------------------------------------------\\n  \\\"vim.statusBarColorControl\\\": false,\\n  \\\"vim.easymotion\\\": true,\\n  \\\"vim.surround\\\": true,\\n  \\\"vim.incsearch\\\": true,\\n  \\\"vim.hlsearch\\\": true,\\n  \\\"vim.useSystemClipboard\\\": true,\\n  \\\"vim.useCtrlKeys\\\": true,\\n  \\\"vim.insertModeKeyBindingsNonRecursive\\\": [],\\n  \\\"vim.normalModeKeyBindingsNonRecursive\\\": [\\n    {\\n      // cursor navigation\\n      \\\"before\\\": [\\\"j\\\"],\\n      \\\"after\\\": [\\\"g\\\", \\\"j\\\"]\\n    },\\n    {\\n      // cursor navigation\\n      \\\"before\\\": [\\\"k\\\"],\\n      \\\"after\\\": [\\\"g\\\", \\\"k\\\"]\\n    },\\n    {\\n      // clear last search highlighting\\n      \\\"before\\\": [\\\"<C-n>\\\"],\\n      \\\"commands\\\": [\\\":nohl\\\"]\\n    },\\n    {\\n      // window navigation\\n      \\\"before\\\": [\\\"<leader>\\\", \\\"h\\\"],\\n      \\\"after\\\": [\\\"<C-w>\\\", \\\"h\\\"]\\n    },\\n    {\\n      // window navigation\\n      \\\"before\\\": [\\\"<leader>\\\", \\\"j\\\"],\\n      \\\"after\\\": [\\\"<C-w>\\\", \\\"j\\\"]\\n    },\\n    {\\n      // window navigation\\n      \\\"before\\\": [\\\"<leader>\\\", \\\"k\\\"],\\n      \\\"after\\\": [\\\"<C-w>\\\", \\\"k\\\"]\\n    },\\n    {\\n      // window navigation\\n      \\\"before\\\": [\\\"<leader>\\\", \\\"l\\\"],\\n      \\\"after\\\": [\\\"<C-w>\\\", \\\"l\\\"]\\n    },\\n    {\\n      // vim easymotion\\n      \\\"before\\\": [\\\"<leader>\\\", \\\"<leader>\\\"],\\n      \\\"after\\\": [\\\"<Leader>\\\", \\\"<Leader>\\\", \\\"<Leader>\\\", \\\"b\\\", \\\"d\\\", \\\"w\\\"]\\n    }\\n  ],\\n  \\\"vim.visualModeKeyBindingsNonRecursive\\\": [\\n    {\\n      \\\"before\\\": [\\\"p\\\"],\\n      \\\"after\\\": [\\\"\\\\\\\"\\\", \\\"_\\\", \\\"d\\\", \\\"P\\\"]\\n    }\\n  ],\\n  \\\"vim.handleKeys\\\": {},\\n  \\\"vim.leader\\\": \\\"<space>\\\",\\n\\n  // ---------------------------------------------------\\n  // Prettier Settings (Extension)\\n  // ---------------------------------------------------\\n  \\\"prettier.printWidth\\\": 80,\\n  \\\"prettier.singleQuote\\\": true,\\n  \\\"prettier.trailingComma\\\": \\\"es5\\\",\\n  \\\"prettier.useTabs\\\": false,\\n  \\\"editor.defaultFormatter\\\": \\\"esbenp.prettier-vscode\\\",\\n\\n  // ---------------------------------------------------\\n  // Eslint Settings (Extension)\\n  // ---------------------------------------------------\\n  \\\"eslint.validate\\\": [\\\"javascript\\\"],\\n\\n  // ---------------------------------------------------\\n  // Others\\n  // ---------------------------------------------------\\n  \\\"scm.alwaysShowRepositories\\\": true,\\n  \\\"vsicons.dontShowNewVersionMessage\\\": true,\\n  \\\"git.path\\\": \\\"/usr/bin/git\\\",\\n  \\\"git.ignoreMissingGitWarning\\\": true\\n}\\n\")), mdx(\"h2\", null, \"keybindings.json\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-json\"\n  }), \"[\\n  // Place your settings in this file to overwrite the default settings\\n  {\\n    \\\"key\\\": \\\"ctrl+.\\\",\\n    \\\"command\\\": \\\"editor.action.triggerSuggest\\\",\\n    \\\"when\\\": \\\"editorHasCompletionItemProvider && textInputFocus && !editorReadonly\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+tab\\\",\\n    \\\"command\\\": \\\"workbench.action.terminal.focusNext\\\",\\n    \\\"when\\\": \\\"terminalFocus\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"ctrl+shift+tab\\\",\\n    \\\"command\\\": \\\"workbench.action.terminal.focusPrevious\\\",\\n    \\\"when\\\": \\\"terminalFocus\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"cmd+n\\\",\\n    \\\"command\\\": \\\"workbench.action.terminal.new\\\",\\n    \\\"when\\\": \\\"terminalFocus\\\"\\n  },\\n  {\\n    \\\"key\\\": \\\"cmd+w\\\",\\n    \\\"command\\\": \\\"workbench.action.terminal.kill\\\",\\n    \\\"when\\\": \\\"terminalFocus\\\"\\n  }\\n]\\n\")));\n}\n;\nMDXContent.isMDXComponent = true;","frontmatter":{"title":"Vscode","featuredImage":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAMCBP/EABUBAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIQAxAAAAHhlXBIWf/EABkQAAMAAwAAAAAAAAAAAAAAAAECEAARM//aAAgBAQABBQLWND0Yz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABcQAAMBAAAAAAAAAAAAAAAAAAABIDH/2gAIAQEABj8CZk//xAAbEAACAgMBAAAAAAAAAAAAAAAAAREhEDFRYf/aAAgBAQABPyGChdMlwse46kbP/9oADAMBAAIAAwAAABAQ3//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABURAQEAAAAAAAAAAAAAAAAAAAAR/9oACAECAQE/EFf/xAAdEAEAAgEFAQAAAAAAAAAAAAABABEhMUFhcZGB/9oACAEBAAE/EELOwCAAoeNZ213A2BAlvkpfTEoyryf/2Q==","aspectRatio":1.4970059880239521,"src":"/static/e6b8bc5b72d27e72c748555dfa08546f/a41d1/cover.jpg","srcSet":"/static/e6b8bc5b72d27e72c748555dfa08546f/0f3a1/cover.jpg 500w,\n/static/e6b8bc5b72d27e72c748555dfa08546f/a7715/cover.jpg 1000w,\n/static/e6b8bc5b72d27e72c748555dfa08546f/a41d1/cover.jpg 2000w,\n/static/e6b8bc5b72d27e72c748555dfa08546f/b2131/cover.jpg 3000w,\n/static/e6b8bc5b72d27e72c748555dfa08546f/35a2e/cover.jpg 3543w","sizes":"(max-width: 2000px) 100vw, 2000px"}}}}}}}