vscode符合eslint的代码格式化设置
1、安装插件
1)ESlint:javascript代码检测工具,可以配置每次保存时格式化js,但每次保存只格式化一点点,你得连续按住Ctrl+S好几次,才格式化好,自行体会~~
2)vetur:可以格式化html、标准css(有分号 、大括号的那种)、标准js(有分号 、双引号的那种)、vue文件,
但是!格式化的标准js文件不符合ESlint规范,会给你加上双引号、分号等
3)Prettier - Code formatter:只关注格式化,并不具有eslint检查语法等能力,只关心格式化文件(最大长度、混合标签和空格、引用样式等),包括JavaScript · Flow · TypeScript · CSS · SCSS · Less · JSX · Vue · GraphQL · JSON · Markdown
4)Manta's Stylus Supremacy: 格式化stylus的插件(不用就不装),因为vetur会把css格式化有分号 、大括号的那种,此插件会把css格式化成stylus风格
{ "workbench.colorTheme": "Solarized Light (no bold)", "files.autoSave": "onFocusChange", "eslint.format.enable": true, "eslint.nodeEnv": "", // 重新设定tabsize "editor.tabSize": 2, "editor.fontSize": 16, "debug.console.fontSize": 14, "terminal.integrated.fontSize": 14, "explorer.confirmDragAndDrop": false, "[typescript]": { "editor.defaultFormatter": "vscode.typescript-language-features" }, "[json]": { "editor.defaultFormatter": "vscode.json-language-features" }, "[jsonc]": { "editor.defaultFormatter": "vscode.json-language-features" }, "[javascript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, // vscode默认启用了根据文件类型自动设置tabsize的选项 "editor.detectIndentation": false, // #每次保存的时候自动格式化 "editor.formatOnSave": true, // #每次保存的时候将代码按eslint格式进行修复 "eslint.autoFixOnSave": true, // 添加 vue 支持 "eslint.validate": [ "javascript", "javascriptreact", { "language": "vue", "autoFix": true } ], // #让prettier使用eslint的代码格式进行校验 "prettier.eslintIntegration": true, // #去掉代码结尾的分号 "prettier.semi": false, // #使用带引号替代双引号 "prettier.singleQuote": true, // #让函数(名)和后面的括号之间加个空格 "javascript.format.insertSpaceBeforeFunctionParenthesis": true, // #这个按用户自身习惯选择 "vetur.format.defaultFormatter.html": "js-beautify-html", // #让vue中的js按编辑器自带的ts格式进行格式化 "vetur.format.defaultFormatter.js": "vscode-typescript", "vetur.format.defaultFormatterOptions": { "js-beautify-html": { "wrap_attributes": "auto" // #vue组件中html代码格式化样式 force-aligned } }, // 格式化stylus, 需安装Manta's Stylus Supremacy插件 "stylusSupremacy.insertColons": false, // 是否插入冒号 "stylusSupremacy.insertSemicolons": false, // 是否插入分好 "stylusSupremacy.insertBraces": false, // 是否插入大括号 "stylusSupremacy.insertNewLineAroundImports": false, // import之后是否换行 "stylusSupremacy.insertNewLineAroundBlocks": false, "[vue]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" }, // 两个选择器中是否换行 "vetur.experimental.templateInterpolationService": true, // vue template代码中,有ts的提示 }
5)Auto Close Tag自动补全关闭标签
安装即可,敲html代码,会自动补全
6)Bracket Pair Colorizer 2
对应括号显示同样的颜色,放置我们混淆括号
7)JavaScript (ES6) code snippets
es6 代码自动补全
8) vscode-icons 为文件管理器增加文件类型图标
9) Auto Rename Tag
{ "javascript.preferences.quoteStyle": "single", "workbench.colorTheme": "Solarized Light (no bold)", "files.autoSave": "onFocusChange", "eslint.format.enable": true, "eslint.nodeEnv": "", // 重新设定tabsize "editor.tabSize": 2, "editor.fontSize": 16, "debug.console.fontSize": 14, "terminal.integrated.fontSize": 14, "explorer.confirmDragAndDrop": false, "bracket-pair-colorizer-2.colors": [ "Orchid", "YellowGreen", "Orange" ], "[typescript]": { "editor.defaultFormatter": "vscode.typescript-language-features" }, "[json]": { "editor.defaultFormatter": "vscode.json-language-features" }, "[jsonc]": { "editor.defaultFormatter": "vscode.json-language-features" }, "[javascript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, // vscode默认启用了根据文件类型自动设置tabsize的选项 "editor.detectIndentation": false, // #每次保存的时候自动格式化 "editor.formatOnSave": true, // #每次保存的时候将代码按eslint格式进行修复 "eslint.autoFixOnSave": true, // 添加 vue 支持 "eslint.validate": [ "javascript", "javascriptreact", { "language": "vue", "autoFix": true } ], "indent": "off", "@typescript-eslint/indent": [ "error" ], // #让prettier使用eslint的代码格式进行校验 "prettier.eslintIntegration": true, // #代码结尾的分号 "prettier.semi": false, // #使用带引号替代双引号 "prettier.singleQuote": true, // #让函数(名)和后面的括号之间加个空格 "javascript.format.insertSpaceBeforeFunctionParenthesis": true, // #这个按用户自身习惯选择 "vetur.format.defaultFormatter.html": "js-beautify-html", // #让vue中的js按编辑器自带的ts格式进行格式化 "vetur.format.defaultFormatter.js": "vscode-typescript", "vetur.format.defaultFormatterOptions": { "js-beautify-html": { "wrap_attributes": "auto", // #vue组件中html代码格式化样式 force-aligned "prettier": { "semi": true, "singleQuote": true } } }, // 格式化stylus, 需安装Manta's Stylus Supremacy插件 "stylusSupremacy.insertColons": false, // 是否插入冒号 "stylusSupremacy.insertSemicolons": false, // 是否插入分好 "stylusSupremacy.insertBraces": false, // 是否插入大括号 "stylusSupremacy.insertNewLineAroundImports": false, // import之后是否换行 "stylusSupremacy.insertNewLineAroundBlocks": false, "[vue]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" }, // 两个选择器中是否换行 "vetur.experimental.templateInterpolationService": true, // vue template代码中,有ts的提示 "editor.fontLigatures": null, "workbench.iconTheme": "vscode-icons", "editor.codeActionsOnSave": { "source.fixAll.eslint": true } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了