优化配置
排除node_modules
- 在设置中
file.exclude
字段中添加**/node_modules
自用
{
"workbench.colorTheme": "Monokai", // sublime 主题已经内置
"security.workspace.trust.untrustedFiles": "open",
"workbench.preferredDarkColorTheme": "Monokai",
"workbench.preferredLightColorTheme": "Monokai",
"explorer.confirmDelete": false,
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"window.zoomLevel": 1,
"explorer.confirmDragAndDrop": false,
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"prettier.printWidth": 120,
"editor.formatOnSave": true,
"[vue]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"color-highlight.enable":true,
"color-highlight.languages": [
"*"
],
"editor.wordSeparators":'`~!@#$%^&*()=+[{]}\|;:'",.<>/?', // 去掉了小横杠当作分隔符
// 参考线
// 控制是否启用括号对指南。
"editor.guides.bracketPairs": "active", // 高亮缩进参考线
"editor.guides.bracketPairsHorizontal": false, // 水平括号
"editor.guides.indentation": true, // 缩进参考线
"editor.hideCursorInOverviewRuler": true,
"todo-tree.general.statusBar": "top three",
"todo-tree.general.statusBarClickBehaviour": "cycle",
"todo-tree.highlights.useColourScheme": true,
// 控制是否已启用括号对着色。使用 `workbench.colorCustomizations` 替代括号高亮颜色。
"editor.bracketPairColorization.enabled": true,
// 控制每个方括号类型是否具有自己的独立颜色池。
"editor.bracketPairColorization.independentColorPoolPerBracketType": true,
"terminal.integrated.defaultProfile.windows": "PowerShell",
"terminal.integrated.copyOnSelection": true, // 终端选中复制
"powermode.enabled": true,
// 配置文件归类
"explorer.experimental.fileNesting.enabled": true,
"explorer.experimental.fileNesting.expand": false,
"explorer.experimental.fileNesting.patterns": {
"*.js": "$(capture).js.map, $(capture).min.js, $(capture).d.ts",
"*.jsx": "$(capture).js",
"*.module.ts": "$(capture).resolver.ts, $(capture).controller.ts, $(capture).service.ts",
"*.ts": "$(capture).js, $(capture).*.ts",
"*.tsx": "$(capture).ts",
"*.vue": "$(capture).*.ts, $(capture).*.js",
".env": "*.env, .env.*, env.d.ts",
".gitignore": ".gitattributes, .gitmodules, .gitmessage, .mailmap, .git-blame*",
"index.d.ts": "*.d.ts",
"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, apollo.config.*, 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*",
"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.*, jasmine.*, jest.config.*, jsconfig.*, karma*, playwright.config.*, postcss.config.*, puppeteer.config.*, svgo.config.*, tailwind.config.*, 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.*, tsdoc.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*"
},
"fileheader.cursorMode": {
"description":"",
"param":"",
"return":""
},
"color-highlight.markerType": "dot-before",
"color-highlight.matchWords": true,
"color-highlight.matchRgbWithNoFunction": true,
}
支持 JSON 文件中的注释
严格来说,JSON 最初是作为一种机器交换格式,因此不正式支持代码注释。最近 JSON 作为一种人工编辑的配置文件格式已经流行起来,这显然需要注释。因此,大多数严肃的 JSON 库都可以毫无问题地处理评论。(一个值得注意的例外是JSON.parse()
;不要使用它——它无法验证模式并且错误报告很差。)
// ./vscode/settings.json
{
"files.associations": { "*.json": "jsonc" }
}
添加jsconfig.json
vscode可以识别typings,因此可以通过typings来作为插件拓展vscode的功能。
配置jsconfig.json 在使用typings之前,需要在vscode里面配置一下名为jsconfig.json的文件。配置方法很简单,随便选中一个js文件,vscode右下角会弹出一个绿色的小灯泡,
点击进去,顶部会提示 “Create a jsconfig.json to enable richer IntelliSense and code navigation across the entire workspace.” 选择create,vscode就会创造一个jsconfig.json的文件,内容大致如下:
{
// See https://go.microsoft.com/fwlink/?LinkId=759670
// for the documentation about the jsconfig.json format
compilerOptions: {
target: "es6",
module: "commonjs",
allowSyntheticDefaultImports: true,
},
exclude: [
"node_modules",
"bower_components",
"jspm_packages",
"tmp",
"temp",
],
}
保存时调用prettier
优化自动补全
{
"editor.quickSuggestions": {
"other": true,
"comments": true,
"strings": true
},
}
缩进参考线
// 参考线
// 控制是否启用括号对指南。
"editor.guides.bracketPairs": "active", // 高亮缩进参考线
"editor.guides.bracketPairsHorizontal": "active", // 水平括号
"editor.guides.indentation": true, // 缩进参考线
"editor.hideCursorInOverviewRuler": true,
带颜色的括号
// 控制是否已启用括号对着色。使用 `workbench.colorCustomizations` 替代括号高亮颜色。
"editor.bracketPairColorization.enabled": true,
// 控制每个方括号类型是否具有自己的独立颜色池。
"editor.bracketPairColorization.independentColorPoolPerBracketType": true,
同步修改html标签
直接使用快捷键 F2
重构即可,不需要安装扩展。auto close tag
和 auto rename tag
的扩展包 Auto Complete Tag 也可以考虑卸载了。
通过设置 "editor.renameOnType": true
(默认没开启),你可以达到和 auto rename tag
一毛一样的效果 , 如果你想只在某种特定语言中开启这个特性,可以参考下面的配置:
// settings.json
"[html]": {
"editor.renameOnType": true,
"editor.linkedEditing": true,
},