vscode 的 settings.json

基本的配置

antfu 基础上更改了

  • command 按键的功能
  • 字体
  • 白天黑夜的主题更改
json 复制代码
{
    // ========== Visuals ==========
    "editor.cursorSmoothCaretAnimation": "on",
    "editor.fontFamily": "Input",
    "editor.guides.bracketPairs": "active",
    "editor.lineNumbers": "interval",
    "editor.renderWhitespace": "boundary",
    "window.autoDetectColorScheme": true,
    "workbench.colorTheme": "Vitesse Light",
    "workbench.editor.tabActionLocation": "left",
    "workbench.fontAliasing": "antialiased",
    // "workbench.iconTheme": "catppuccin-mocha",
    "workbench.list.smoothScrolling": true,
    "workbench.preferredDarkColorTheme": "Vitesse Dark",
    "workbench.preferredLightColorTheme": "Vitesse Light",
    "workbench.productIconTheme": "icons-carbon",
    "workbench.sideBar.location": "right",
    "workbench.startupEditor": "newUntitledFile",
    "workbench.tree.expandMode": "singleClick",
    "workbench.tree.indent": 10,
  
    // ========== Editor ========== 
    "debug.onTaskErrors": "debugAnyway",
    "diffEditor.ignoreTrimWhitespace": false,
    "editor.wordSeparators": "`~!@#%^&*()=+[{]}\\|;:'\",.<>/?",
    "editor.find.addExtraSpaceOnTop": false,
    "editor.inlineSuggest.enabled": true,
    // "editor.multiCursorModifier": "ctrlCmd",
    "editor.suggestSelection": "first",
    "editor.tabSize": 2,
    "editor.unicodeHighlight.invisibleCharacters": false,
    "editor.stickyScroll.enabled": true,
    "editor.hover.sticky": true,
    "editor.codeActionsOnSave": {
      "source.fixAll": "never",
      "source.fixAll.eslint": "always",
      "source.organizeImports": "never"
    },
    "explorer.confirmDelete": false,
    "explorer.confirmDragAndDrop": false,
    "files.eol": "\n",
    "files.insertFinalNewline": true,
    "files.simpleDialog.enable": true,
    "git.autofetch": true,
    "git.confirmSync": false,
    "git.enableSmartCommit": true,
    "git.untrackedChanges": "separate",
    "scm.diffDecorationsGutterWidth": 2,
    "terminal.integrated.cursorBlinking": true,
    "terminal.integrated.cursorStyle": "line",
    "terminal.integrated.fontWeight": "300",
    "terminal.integrated.persistentSessionReviveProcess": "never",
    "terminal.integrated.tabs.enabled": true,
    "workbench.editor.closeOnFileDelete": true,
    "workbench.editor.highlightModifiedTabs": true,
    "workbench.editor.limit.enabled": true,
    "workbench.editor.limit.perEditorGroup": true,
    "workbench.editor.limit.value": 5,
    "search.exclude": {
      "**/*.snap": true,
      "**/*.svg": true,
      "**/.git": true,
      "**/.github": false,
      "**/.nuxt": true,
      "**/.output": true,
      "**/.pnpm": true,
      "**/.vscode": true,
      "**/.yarn": true,
      "**/assets": true,
      "**/bower_components": true,
      "**/dist/**": true,
      "**/logs": true,
      "**/node_modules": true,
      "**/out/**": true,
      "**/package-lock.json": true,
      "**/pnpm-lock.yaml": true,
      "**/public": true,
      "**/temp": true,
      "**/yarn.lock": true,
      "**/CHANGELOG*": true,
      "**/LICENSE*": true,
    },
  
    // ==========  Global Level Config, needs to put in User Settings ========== 
    "window.dialogStyle": "custom",
    "window.nativeTabs": true, // this is great, macOS only
    "window.title": "${rootName}", // this make tabs more readable
    "window.titleBarStyle": "custom",
    "extensions.autoUpdate": "onlyEnabledExtensions",
  
    // ========== Extension configs ========== 
    "emmet.showSuggestionsAsSnippets": true,
    "emmet.triggerExpansionOnTab": false,
    "errorLens.enabledDiagnosticLevels": [
      "warning",
      "error"
    ],
    "errorLens.excludeBySource": [
      "cSpell",
      "Grammarly",
      "eslint"
    ],
  
    // ESLint config: https://github.com/antfu/eslint-config
    "eslint.codeAction.showDocumentation": {
      "enable": true
    },
    "eslint.quiet": false,
    // Silent the stylistic rules in you IDE, but still auto fix them
    "eslint.rules.customizations": [
      { "rule": "style/*", "severity": "off" },
      { "rule": "format/*", "severity": "off" },
      { "rule": "*-indent", "severity": "off" },
      { "rule": "*-spacing", "severity": "off" },
      { "rule": "*-spaces", "severity": "off" },
      { "rule": "*-order", "severity": "off" },
      { "rule": "*-dangle", "severity": "off" },
      { "rule": "*-newline", "severity": "off" },
      { "rule": "*quotes", "severity": "off" },
      { "rule": "*semi", "severity": "off" }
    ],
    "eslint.validate": [
      "javascript",
      "javascriptreact",
      "typescript",
      "typescriptreact",
      "vue",
      "html",
      "markdown",
      "json",
      "jsonc",
      "yaml",
      "toml"
    ],
  
    "github.copilot.enable": {
      "*": true,
      "markdown": true,
      "plaintext": false,
    },
    "cSpell.allowCompoundWords": true,
    "cSpell.language": "en,en-US",
    "css.lint.hexColorLength": "ignore",
    "githubIssues.workingIssueFormatScm": "#${issueNumberLabel}",
    "githubPullRequests.fileListLayout": "tree",
    "gitlens.codeLens.authors.enabled": false,
    "gitlens.codeLens.enabled": false,
    "gitlens.codeLens.recentChange.enabled": false,
    "gitlens.menus": {
      "editor": {
        "blame": false,
        "clipboard": true,
        "compare": true,
        "history": false,
        "remote": false
      },
      "editorGroup": {
        "blame": true,
        "compare": false
      },
      "editorTab": {
        "clipboard": true,
        "compare": true,
        "history": true,
        "remote": true
      },
      "explorer": {
        "clipboard": true,
        "compare": true,
        "history": true,
        "remote": true
      },
      "scm": {
        "authors": true
      },
      "scmGroup": {
        "compare": true,
        "openClose": true,
        "stash": true
      },
      "scmGroupInline": {
        "stash": true
      },
      "scmItem": {
        "clipboard": true,
        "compare": true,
        "history": true,
        "remote": false,
        "stash": true
      }
    },
    "i18n-ally.autoDetection": false,
    "i18n-ally.displayLanguage": "en",
    "i18n-ally.ignoredLocales": [],
    "iconify.annotations": true,
    "iconify.inplace": true,
    "svg.preview.mode": "svg",
  
    // I only use Prettier for manually formatting
    "prettier.enable": false,
    "prettier.printWidth": 200,
    "prettier.semi": false,
    "prettier.singleQuote": true,
  
    // ========== File Nesting ==========
    // this might not be up to date with the repo, please check yourself
    // https://github.com/antfu/vscode-file-nesting-config
    "explorer.fileNesting.enabled": true,
    "explorer.fileNesting.expand": false,
    "explorer.fileNesting.patterns": {
      "*.asax": "$(capture).*.cs, $(capture).*.vb",
      "*.ascx": "$(capture).*.cs, $(capture).*.vb",
      "*.ashx": "$(capture).*.cs, $(capture).*.vb",
      "*.aspx": "$(capture).*.cs, $(capture).*.vb",
      "*.bloc.dart": "$(capture).event.dart, $(capture).state.dart",
      "*.c": "$(capture).h",
      "*.cc": "$(capture).hpp, $(capture).h, $(capture).hxx",
      "*.cjs": "$(capture).cjs.map, $(capture).*.cjs, $(capture)_*.cjs",
      "*.component.ts": "$(capture).component.html, $(capture).component.spec.ts, $(capture).component.css, $(capture).component.scss, $(capture).component.sass, $(capture).component.less",
      "*.cpp": "$(capture).hpp, $(capture).h, $(capture).hxx",
      "*.cs": "$(capture).*.cs",
      "*.cshtml": "$(capture).cshtml.cs",
      "*.csproj": "*.config, *proj.user, appsettings.*, bundleconfig.json",
      "*.css": "$(capture).css.map, $(capture).*.css",
      "*.cxx": "$(capture).hpp, $(capture).h, $(capture).hxx",
      "*.dart": "$(capture).freezed.dart, $(capture).g.dart",
      "*.ex": "$(capture).html.eex, $(capture).html.heex, $(capture).html.leex",
      "*.go": "$(capture)_test.go",
      "*.java": "$(capture).class",
      "*.js": "$(capture).js.map, $(capture).*.js, $(capture)_*.js",
      "*.jsx": "$(capture).js, $(capture).*.jsx, $(capture)_*.js, $(capture)_*.jsx",
      "*.master": "$(capture).*.cs, $(capture).*.vb",
      "*.mjs": "$(capture).mjs.map, $(capture).*.mjs, $(capture)_*.mjs",
      "*.module.ts": "$(capture).resolver.ts, $(capture).controller.ts, $(capture).service.ts",
      "*.pubxml": "$(capture).pubxml.user",
      "*.resx": "$(capture).*.resx, $(capture).designer.cs, $(capture).designer.vb",
      "*.tex": "$(capture).acn, $(capture).acr, $(capture).alg, $(capture).aux, $(capture).bbl, $(capture).blg, $(capture).fdb_latexmk, $(capture).fls, $(capture).glg, $(capture).glo, $(capture).gls, $(capture).idx, $(capture).ind, $(capture).ist, $(capture).lof, $(capture).log, $(capture).lot, $(capture).out, $(capture).pdf, $(capture).synctex.gz, $(capture).toc, $(capture).xdv",
      "*.ts": "$(capture).js, $(capture).d.ts.map, $(capture).*.ts, $(capture)_*.js, $(capture)_*.ts",
      "*.tsx": "$(capture).ts, $(capture).*.tsx, $(capture)_*.ts, $(capture)_*.tsx",
      "*.vbproj": "*.config, *proj.user, appsettings.*, bundleconfig.json",
      "*.vue": "$(capture).*.ts, $(capture).*.js, $(capture).story.vue",
      "*.xaml": "$(capture).xaml.cs",
      "+layout.svelte": "+layout.ts,+layout.ts,+layout.js,+layout.server.ts,+layout.server.js,+layout.gql",
      "+page.svelte": "+page.server.ts,+page.server.js,+page.ts,+page.js,+page.gql",
      ".clang-tidy": ".clang-format, .clangd, compile_commands.json",
      ".env": "*.env, .env.*, .envrc, env.d.ts",
      ".gitignore": ".gitattributes, .gitmodules, .gitmessage, .mailmap, .git-blame*",
      ".project": ".classpath",
      "//": "Last update at 4/29/2023, 2:04:58 PM",
      "BUILD.bazel": "*.bzl, *.bazel, *.bazelrc, bazel.rc, .bazelignore, .bazelproject, WORKSPACE",
      "CMakeLists.txt": "*.cmake, *.cmake.in, .cmake-format.yaml, CMakePresets.json",
      "I*.cs": "$(capture).cs",
      "artisan": "*.env, .babelrc*, .codecov, .cssnanorc*, .env.*, .envrc, .htmlnanorc*, .lighthouserc.*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, contentlayer.config.*, cssnano.config.*, cypress.*, env.d.ts, formkit.config.*, formulate.config.*, histoire.config.*, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, lighthouserc.*, playwright.config.*, postcss.config.*, puppeteer.config.*, rspack.config.*, server.php, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, uno.config.*, unocss.config.*, vitest.config.*, webpack.config.*, webpack.mix.js, windi.config.*",
      "astro.config.*": "*.env, .babelrc*, .codecov, .cssnanorc*, .env.*, .envrc, .htmlnanorc*, .lighthouserc.*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, contentlayer.config.*, cssnano.config.*, cypress.*, env.d.ts, formkit.config.*, formulate.config.*, histoire.config.*, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, lighthouserc.*, playwright.config.*, postcss.config.*, puppeteer.config.*, rspack.config.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, uno.config.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*",
      "cargo.toml": ".clippy.toml, .rustfmt.toml, cargo.lock, clippy.toml, cross.toml, rust-toolchain.toml, rustfmt.toml",
      "composer.json": ".php*.cache, composer.lock, phpunit.xml*, psalm*.xml",
      "default.nix": "shell.nix",
      "deno.json*": "*.env, .env.*, .envrc, api-extractor.json, deno.lock, env.d.ts, import-map.json, import_map.json, jsconfig.*, tsconfig.*, tsdoc.*",
      "dockerfile": ".dockerignore, docker-compose.*, dockerfile*",
      "flake.nix": "flake.lock",
      "gatsby-config.*": "*.env, .babelrc*, .codecov, .cssnanorc*, .env.*, .envrc, .htmlnanorc*, .lighthouserc.*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, contentlayer.config.*, cssnano.config.*, cypress.*, env.d.ts, formkit.config.*, formulate.config.*, gatsby-browser.*, gatsby-node.*, gatsby-ssr.*, gatsby-transformer.*, histoire.config.*, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, lighthouserc.*, playwright.config.*, postcss.config.*, puppeteer.config.*, rspack.config.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, uno.config.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*",
      "gemfile": ".ruby-version, gemfile.lock",
      "go.mod": ".air*, go.sum",
      "go.work": "go.work.sum",
      "mix.exs": ".credo.exs, .dialyzer_ignore.exs, .formatter.exs, .iex.exs, .tool-versions, mix.lock",
      "next.config.*": "*.env, .babelrc*, .codecov, .cssnanorc*, .env.*, .envrc, .htmlnanorc*, .lighthouserc.*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, contentlayer.config.*, cssnano.config.*, cypress.*, env.d.ts, formkit.config.*, formulate.config.*, histoire.config.*, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, lighthouserc.*, next-env.d.ts, playwright.config.*, postcss.config.*, puppeteer.config.*, rspack.config.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, uno.config.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*",
      "nuxt.config.*": "*.env, .babelrc*, .codecov, .cssnanorc*, .env.*, .envrc, .htmlnanorc*, .lighthouserc.*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, contentlayer.config.*, cssnano.config.*, cypress.*, env.d.ts, formkit.config.*, formulate.config.*, histoire.config.*, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, lighthouserc.*, playwright.config.*, postcss.config.*, puppeteer.config.*, rspack.config.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, uno.config.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*",
      "package.json": ".browserslist*, .circleci*, .commitlint*, .cz-config.js, .czrc, .dlint.json, .dprint.json, .editorconfig, .eslint*, .firebase*, .flowconfig, .github*, .gitlab*, .gitpod*, .huskyrc*, .jslint*, .lintstagedrc*, .markdownlint*, .node-version, .nodemon*, .npm*, .nvmrc, .pm2*, .pnp.*, .pnpm*, .prettier*, .releaserc*, .sentry*, .simple-git-hooks*, .stackblitz*, .styleci*, .stylelint*, .tazerc*, .textlint*, .tool-versions, .travis*, .versionrc*, .vscode*, .watchman*, .xo-config*, .yamllint*, .yarnrc*, Procfile, apollo.config.*, appveyor*, azure-pipelines*, bower.json, build.config.*, commitlint*, crowdin*, dangerfile*, dlint.json, dprint.json, eslint*, firebase.json, grunt*, gulp*, jenkins*, lerna*, lint-staged*, nest-cli.*, netlify*, nodemon*, npm-shrinkwrap.json, nx.*, package-lock.json, package.nls*.json, phpcs.xml, pm2.*, pnpm*, prettier*, pullapprove*, pyrightconfig.json, release-tasks.sh, release.config.*, renovate*, rollup.config.*, rspack*, simple-git-hooks*, stylelint*, tslint*, tsup.config.*, turbo*, typedoc*, unlighthouse*, vercel*, vetur.config.*, webpack*, workspace.json, xo.config.*, yarn*",
      "pubspec.yaml": ".metadata, .packages, all_lint_rules.yaml, analysis_options.yaml, build.yaml, pubspec.lock, pubspec_overrides.yaml",
      "pyproject.toml": ".pdm.toml, pdm.lock, pyproject.toml",
      "quasar.conf.js": "*.env, .babelrc*, .codecov, .cssnanorc*, .env.*, .envrc, .htmlnanorc*, .lighthouserc.*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, contentlayer.config.*, cssnano.config.*, cypress.*, env.d.ts, formkit.config.*, formulate.config.*, histoire.config.*, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, lighthouserc.*, playwright.config.*, postcss.config.*, puppeteer.config.*, quasar.extensions.json, rspack.config.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, uno.config.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*",
      "readme*": "authors, backers*, changelog*, citation*, code_of_conduct*, codeowners, contributing*, contributors, copying, credits, governance.md, history.md, license*, maintainers, readme*, security.md, sponsors*",
      "remix.config.*": "*.env, .babelrc*, .codecov, .cssnanorc*, .env.*, .envrc, .htmlnanorc*, .lighthouserc.*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, contentlayer.config.*, cssnano.config.*, cypress.*, env.d.ts, formkit.config.*, formulate.config.*, histoire.config.*, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, lighthouserc.*, playwright.config.*, postcss.config.*, puppeteer.config.*, remix.*, rspack.config.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, uno.config.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*",
      "rush.json": ".browserslist*, .circleci*, .commitlint*, .cz-config.js, .czrc, .dlint.json, .dprint.json, .editorconfig, .eslint*, .firebase*, .flowconfig, .github*, .gitlab*, .gitpod*, .huskyrc*, .jslint*, .lintstagedrc*, .markdownlint*, .node-version, .nodemon*, .npm*, .nvmrc, .pm2*, .pnp.*, .pnpm*, .prettier*, .releaserc*, .sentry*, .simple-git-hooks*, .stackblitz*, .styleci*, .stylelint*, .tazerc*, .textlint*, .tool-versions, .travis*, .versionrc*, .vscode*, .watchman*, .xo-config*, .yamllint*, .yarnrc*, Procfile, apollo.config.*, appveyor*, azure-pipelines*, bower.json, build.config.*, commitlint*, crowdin*, dangerfile*, dlint.json, dprint.json, eslint*, firebase.json, grunt*, gulp*, jenkins*, lerna*, lint-staged*, nest-cli.*, netlify*, nodemon*, npm-shrinkwrap.json, nx.*, package-lock.json, package.nls*.json, phpcs.xml, pm2.*, pnpm*, prettier*, pullapprove*, pyrightconfig.json, release-tasks.sh, release.config.*, renovate*, rollup.config.*, rspack*, simple-git-hooks*, stylelint*, tslint*, tsup.config.*, turbo*, typedoc*, unlighthouse*, vercel*, vetur.config.*, webpack*, workspace.json, xo.config.*, yarn*",
      "shims.d.ts": "*.d.ts",
      "svelte.config.*": "*.env, .babelrc*, .codecov, .cssnanorc*, .env.*, .envrc, .htmlnanorc*, .lighthouserc.*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, contentlayer.config.*, cssnano.config.*, cypress.*, env.d.ts, formkit.config.*, formulate.config.*, histoire.config.*, houdini.config.*, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, lighthouserc.*, mdsvex.config.js, playwright.config.*, postcss.config.*, puppeteer.config.*, rspack.config.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, uno.config.*, unocss.config.*, vite.config.*, vitest.config.*, webpack.config.*, windi.config.*",
      "vite.config.*": "*.env, .babelrc*, .codecov, .cssnanorc*, .env.*, .envrc, .htmlnanorc*, .lighthouserc.*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, contentlayer.config.*, cssnano.config.*, cypress.*, env.d.ts, formkit.config.*, formulate.config.*, histoire.config.*, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, lighthouserc.*, playwright.config.*, postcss.config.*, puppeteer.config.*, rspack.config.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, uno.config.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*",
      "vue.config.*": "*.env, .babelrc*, .codecov, .cssnanorc*, .env.*, .envrc, .htmlnanorc*, .lighthouserc.*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, contentlayer.config.*, cssnano.config.*, cypress.*, env.d.ts, formkit.config.*, formulate.config.*, histoire.config.*, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, lighthouserc.*, playwright.config.*, postcss.config.*, puppeteer.config.*, rspack.config.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, uno.config.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*"
    },
  }