VScode-插件使用以及配置项
1.vscode 版本:
版本: 1.56.2 (user setup)
在最新版本中,vscode增加了账户登录选项,实现了配置文件保存在账户中,在更换电脑或者端时,可以直接登录自己账号获取云端vscode配置。
2.配置保存路径
github
3.setting.json
{ // 对应文件类型使用prettier格式化插件 "[scss]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[less]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[javascript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[vue]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[jsonc]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[json]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[html]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[css]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[typescriptreact]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[javascriptreact]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, // ---------- editor --------------------------------- // 编辑器将不再对屏幕阅读器的使用进行优化 "editor.accessibilitySupport": "off", // 控制是否启用平滑插入动画 "editor.cursorSmoothCaretAnimation": true, // 控制 "查找小部件" 是否应在编辑器顶部添加额外的行。如果为 true, 则可以在 "查找小工具" 可见时滚动到第一行之外。 "editor.find.addExtraSpaceOnTop": false, // 显式 "font-feature-settings" CSS 属性。如果只需打开/关闭连字,可以改为传递布尔值 "editor.fontLigatures": "'ss01', 'ss02', 'ss03', 'ss06', 'zero'", // 控制编辑器是否应呈现垂直字形边距。字形边距最常用于调试。 "editor.glyphMargin": true, // 在编辑器中启用内连提示 "editor.inlayHints.enabled": true, // 每10行显示行号 "editor.lineNumbers": "interval", // ctrlCmd: 映射为 Ctrl (Windows 和 Linux) 或 Command (macOS)。 "editor.multiCursorModifier": "ctrlCmd", // 控制编辑器在空白字符上显示符号的方式。boundary: 呈现空格字符(字词之间的单个空格除外) "editor.renderWhitespace": "boundary", // 控制是否突出显示仅保留空格或完全没有宽度的字符 "editor.unicodeHighlight.invisibleCharacters": false, // 保存时运行的代码操作 "editor.codeActionsOnSave": { // 控制是否应在文件保存时运行自动修复操作。 "source.fixAll": false, "source.fixAll.eslint": true, // 控制是否应在文件保存时运行"整理 import 语句"操作。 "source.organizeImports": true }, // 控制是否显示缩略图 "editor.minimap.enabled": false, // 空格数 "editor.tabSize": 4, // 在保存时格式化文件。格式化程序必须可用,延迟后文件不能保存,并且编辑器不能关闭 "editor.formatOnSave": true, // 控制在建议列表中如何预先选择建议 "editor.suggestSelection": "first", // 控制是否启用括号对着色。使用 “workbench.colorCustomizations” 替代括号突出显示颜色 "editor.bracketPairColorization.enabled": true, // 控制是否启用括号对指南。 "editor.guides.bracketPairs": "active", // 未突出显示在允许区域设置中常见的 Unicode 字符。 "editor.unicodeHighlight.allowedLocales": { "zh-hans": true }, // 控制是否在编辑器中自动显示内联建议 "editor.inlineSuggest.enabled": true, // 控制编辑器是否已启用链接编辑。相关符号(如 HTML 标记)在编辑时进行更新,具体由语言而定。 "editor.linkedEditing": true, // ---------- explorer ------------------------- // 控制资源管理器是否在把文件删除到废纸篓时进行确认。 "explorer.confirmDelete": false, // 控制在资源管理器内拖放移动文件或文件夹时是否进行确认。 "explorer.confirmDragAndDrop": false, // -------------- window --------------------- // 如果已设置,则根据 OS 外观自动切换到首选颜色主题 "window.autoDetectColorScheme": true, // 调整对话框窗口的外观 "window.dialogStyle": "custom", // 启用 macOS Sierra 窗口选项卡 // macOS only "window.nativeTabs": true, // 调整窗口标题栏的外观 "window.titleBarStyle": "custom", // 控制工作台中活动栏的可见性 "workbench.activityBar.visible": true, // 文件目录结构的icon主题样式 "workbench.iconTheme": "material-icon-theme", "workbench.editor.closeOnFileDelete": true, "workbench.editor.highlightModifiedTabs": true, // 控制扩展的自动更新行为 "extensions.autoUpdate": "onlyEnabledExtensions", // vetur格式化的配置 "vetur.format.defaultFormatter.html": "prettier", "vetur.format.defaultFormatter.css": "prettier", "vetur.format.defaultFormatter.js": "prettier-eslint", "vetur.format.defaultFormatter.less": "prettier", "vetur.format.defaultFormatter.postcss": "prettier", "vetur.format.defaultFormatter.sass": "sass-formatter", "vetur.format.defaultFormatter.scss": "prettier", "vetur.format.defaultFormatter.ts": "prettier-tslint", "vetur.format.enable": true, "vetur.format.options.useTabs": true, "vetur.format.scriptInitialIndent": false, "vetur.format.styleInitialIndent": false, "vetur.languageFeatures.updateImportOnFileMove": true, "vetur.validation.script": true, "vetur.validation.style": true, "vetur.validation.templateProps": true, "vetur.format.options.tabSize": 4, "vetur.validation.template": false, "vetur.completion.autoImport": true, // vite config "vite.autoStart": false, "vite.browserType": "system", "vite.notifyOnStarted": false, "vite.showTerminal": true, // volar config "volar.completion.autoImportComponent": true, "volar.completion.preferredAttrNameCase": "auto-camel", "volar.formatting.printWidth": 200, "volar.autoCompleteRefs": true, "volar.codeLens.pugTools": false, "volar.codeLens.scriptSetupTools": true, "volar.completion.preferredTagNameCase": "pascal", // 其它文件名映射 "files.associations": { "*.cjson": "jsonc", "*.wxss": "css", "*.wxs": "javascript", "*.jsp": "html", "*.wxml": "html" }, // 在不受支持的语言中启用标签缩写 例如jsx "emmet.includeLanguages": { "wxml": "html", "vue-html": "html", "jsx": "javascript", "javascript": "javascriptreact", "typescript": "typescriptreact" }, "emmet.showSuggestionsAsSnippets": true, "emmet.triggerExpansionOnTab": false, // 默认从当前git存储库的远程库进行提交拉取 "git.autofetch": true, "git.ignoreMissingGitWarning": true, "git.confirmSync": false, "git.enableSmartCommit": true, "git.untrackedChanges": "separate", "files.eol": "\n", "files.insertFinalNewline": true, "files.simpleDialog.enable": true, "terminal.integrated.cursorBlinking": true, "terminal.integrated.cursorStyle": "line", "terminal.integrated.fontWeight": "300", "terminal.integrated.persistentSessionReviveProcess": "never", "terminal.integrated.tabs.enabled": true, // prettier格式化规则 "prettier.singleQuote": true, "prettier.jsxSingleQuote": true, "prettier.tabWidth": 4, "prettier.bracketSpacing": true, "prettier.arrowParens": "avoid", "prettier.printWidth": 200, "prettier.endOfLine": "crlf", "prettier.trailingComma": "none", "prettier.proseWrap": "never", "prettier.jsxBracketSameLine": true, // scss使用重复的样式定义时,报警告 "scss.lint.duplicateProperties": "warning", // liveServer的配置 "liveServer.settings.useLocalIp": true, "liveServer.settings.donotVerifyTags": true, "liveServer.settings.donotShowInfoMsg": true, // 解决合并冲突后自动转到下一个冲突 "merge-conflict.autoNavigateNextConflict.enabled": true, "diffEditor.ignoreTrimWhitespace": false, // 启用js文件中的codeLen引用 "javascript.referencesCodeLens.showOnAllFunctions": true, // 自动更新导入的路径 "javascript.updateImportsOnFileMove.enabled": "always", // 编辑器优化 "workbench.startupEditor": "newUntitledFile", "workbench.enableExperiments": false, "workbench.settings.enableNaturalLanguageSearch": false, "workbench.editor.enablePreview": false, "workbench.editorAssociations": { "*.ipynb": "jupyter.notebook.ipynb" }, // vscode更新后不显示最新的发行说明 "update.showReleaseNotes": false, // 对双大括号语法进行缩进 "html.format.indentHandlebars": true, // 属性垂直对齐 "html.format.wrapAttributes": "aligned-multiple", "typescript.updateImportsOnFileMove.enabled": "always", // markdown预览字体 "markdown.preview.fontFamily": "Consolas, 'Courier New', monospace", // cSpell配置 "cSpell.allowCompoundWords": true, "cSpell.language": "en,en-US", "cSpell.userWords": ["gulpfile", "happypack", "mixins", "vant", "vite", "vuex"], "cSpell.enabledLanguageIds": [ "css", "git-commit", "html", "javascript", "javascriptreact", "json", "jsonc", "less", "markdown", "rust", "scss", "text", "typescript", "typescriptreact", "yaml", "yml", "vue" ], "cSpell.enableFiletypes": ["vue", "js", "css", "html"], "cSpell.includeRegExpList": ["src"], // githubCopilot配置 "github.copilot.enable": { "*": true, "yaml": false, "plaintext": true, "markdown": true }, "search.exclude": { "**/.git": true, "**/.github": true, "**/.nuxt": true, "**/.output": true, "**/.pnpm": true, "**/.vscode": true, "**/.yarn": true, "**/bower_components": true, "**/dist/**": true, "**/logs": true, "**/node_modules": true, "**/out/**": true, "**/package-lock.json": true, "**/pnpm-lock.yaml": true, "**/tmp": true, "**/yarn.lock": true }, //配置eslint "eslint.codeActionsOnSave.mode": "problems", "eslint.packageManager": "pnpm", "eslint.quiet": true, "eslint.validate": ["javascript", "typescript", "javascriptreact", "typescriptreact", "vue", "html", "markdown", "json", "jsonc", "json5"], // explorer.experimental.fileNesting.patterns "explorer.experimental.fileNesting.enabled": true, "explorer.experimental.fileNesting.expand": false, "explorer.experimental.fileNesting.patterns": { ".gitignore": ".gitattributes, .gitmodules, .gitmessage, .mailmap, .git-blame*", "*.js": "$(capture).js.map, $(capture).min.js, $(capture).d.ts", "*.jsx": "$(capture).js", "*.ts": "$(capture).js, $(capture).*.ts", "*.tsx": "$(capture).ts", "*.vue": "$(capture).*.ts, $(capture).*.js", "index.d.ts": "*.d.ts", "shims.d.ts": "*.d.ts", "*.cpp": "$(capture).hpp, $(capture).h, $(capture).hxx", "*.cxx": "$(capture).hpp, $(capture).h, $(capture).hxx", "*.cc": "$(capture).hpp, $(capture).h, $(capture).hxx", "*.c": "$(capture).h", "go.mod": ".air*, go.sum", "default.nix": "shell.nix", "flake.nix": "flake.lock", "BUILD.bazel": "*.bzl, *.bazel, *.bazelrc, bazel.rc, .bazelignore, .bazelproject, WORKSPACE", "CMakeLists.txt": "*.cmake, *.cmake.in, .cmake-format.yaml, CMakePresets.json", ".clang-tidy": ".clang-format", ".env": "*.env, .env.*, env.d.ts", "dockerfile": ".dockerignore, dockerfile*", "package.json": ".browserslist*, .circleci*, .codecov, .commitlint*, .editorconfig, .eslint*, .firebase*, .flowconfig, .github*, .gitlab*, .gitpod*, .huskyrc*, .jslint*, .lintstagedrc*, .markdownlint*, .mocha*, .node-version, .nodemon*, .npm*, .nvmrc, .pm2*, .pnp.*, .pnpm*, .prettier*, .releaserc*, .sentry*, .stackblitz*, .styleci*, .stylelint*, .tazerc*, .textlint*, .tool-versions, .travis*, .vscode*, .watchman*, .xo-config*, .yamllint*, .yarnrc*, api-extractor.json, appveyor*, ava.config.*, azure-pipelines*, bower.json, build.config.*, commitlint*, crowdin*, cypress.json, dangerfile*, dprint.json, firebase.json, grunt*, gulp*, jasmine.*, jenkins*, jest.config.*, jsconfig.*, karma*, lerna*, lint-staged*, nest-cli.*, netlify*, nodemon*, nx.*, package-lock.json, playwright.config.*, pm2.*, pnpm*, prettier*, pullapprove*, puppeteer.config.*, renovate*, rollup.config.*, stylelint*, tsconfig.*, tsdoc.*, tslint*, tsup.config.*, turbo*, typedoc*, vercel*, vetur.config.*, vitest.config.*, webpack.config.*, workspace.json, xo.config.*, yarn*", "rush.json": ".browserslist*, .circleci*, .codecov, .commitlint*, .editorconfig, .eslint*, .firebase*, .flowconfig, .github*, .gitlab*, .gitpod*, .huskyrc*, .jslint*, .lintstagedrc*, .markdownlint*, .mocha*, .node-version, .nodemon*, .npm*, .nvmrc, .pm2*, .pnp.*, .pnpm*, .prettier*, .releaserc*, .sentry*, .stackblitz*, .styleci*, .stylelint*, .tazerc*, .textlint*, .tool-versions, .travis*, .vscode*, .watchman*, .xo-config*, .yamllint*, .yarnrc*, api-extractor.json, appveyor*, ava.config.*, azure-pipelines*, bower.json, build.config.*, commitlint*, crowdin*, cypress.json, dangerfile*, dprint.json, firebase.json, grunt*, gulp*, jasmine.*, jenkins*, jest.config.*, jsconfig.*, karma*, lerna*, lint-staged*, nest-cli.*, netlify*, nodemon*, nx.*, package-lock.json, playwright.config.*, pm2.*, pnpm*, prettier*, pullapprove*, puppeteer.config.*, renovate*, rollup.config.*, stylelint*, tsconfig.*, tsdoc.*, tslint*, tsup.config.*, turbo*, typedoc*, vercel*, vetur.config.*, vitest.config.*, webpack.config.*, workspace.json, xo.config.*, yarn*", "readme.*": "authors, backers.md, changelog*, citation*, code_of_conduct.md, codeowners, contributing.md, contributors, copying, credits, governance.md, history.md, license*, maintainers, readme*, security.md, sponsors.md", "cargo.toml": ".clippy.toml, .rustfmt.toml, cargo.lock, clippy.toml, cross.toml, rust-toolchain.toml, rustfmt.toml", "gemfile": ".ruby-version, gemfile.lock", "composer.json": "composer.lock, phpunit.xml*, psalm*.xml", "vite.config.*": "*.env, .babelrc*, .codecov, .cssnanorc*, .env.*, .htmlnanorc*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, cssnano.config.*, cypress.json, env.d.ts, htmlnanorc.*, index.html, jasmine.*, jest.config.*, jsconfig.*, karma*, playwright.config.*, postcss.config.*, puppeteer.config.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*", "vue.config.*": "*.env, .babelrc*, .codecov, .cssnanorc*, .env.*, .htmlnanorc*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, cssnano.config.*, cypress.json, env.d.ts, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, playwright.config.*, postcss.config.*, puppeteer.config.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*", "nuxt.config.*": "*.env, .babelrc*, .codecov, .cssnanorc*, .env.*, .htmlnanorc*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, cssnano.config.*, cypress.json, env.d.ts, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, playwright.config.*, postcss.config.*, puppeteer.config.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*", "next.config.*": "*.env, .babelrc*, .codecov, .cssnanorc*, .env.*, .htmlnanorc*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, cssnano.config.*, cypress.json, env.d.ts, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, next-env.d.ts, playwright.config.*, postcss.config.*, puppeteer.config.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*", "svelte.config.*": "*.env, .babelrc*, .codecov, .cssnanorc*, .env.*, .htmlnanorc*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, cssnano.config.*, cypress.json, env.d.ts, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, mdsvex.config.js, playwright.config.*, postcss.config.*, puppeteer.config.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*", "remix.config.*": "*.env, .babelrc*, .codecov, .cssnanorc*, .env.*, .htmlnanorc*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, cssnano.config.*, cypress.json, env.d.ts, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, playwright.config.*, postcss.config.*, puppeteer.config.*, remix.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*" } }