自己的vscode-settings.json配置详解

(编辑:jimmy 日期: 2024/12/23 浏览:2)

vscode从插件库里安装eslint和prettier

实现自动格式化

自己的vscode-settings.json配置详解

自己的vscode-settings.json配置详解

{
 // 是否允许自定义的snippet片段提示
 "editor.snippetSuggestions": "top",
 // vscode默认启用了根据文件类型自动设置tabsize的选项
 "editor.detectIndentation": false,
 // 重新设定tabsize
 "editor.tabSize": 2,
 // #每次保存的时候自动格式化 
 "editor.formatOnSave": false,
 // #每次保存的时候将代码按eslint格式进行修复
 "eslint.autoFixOnSave": true,
 "editor.fontWeight": "400",
 "editor.formatOnType": false,
 "workbench.iconTheme": "material-icon-theme",
 "git.confirmSync": false,
 "team.showWelcomeMessage": false,
 "window.zoomLevel": 0,
 "editor.renderWhitespace": "boundary",
 "editor.cursorBlinking": "smooth",
 "editor.minimap.enabled": true,
 "editor.minimap.renderCharacters": false,
 "window.title": "${dirty}${activeEditorMedium}${separator}${rootName}",
 "editor.codeLens": true,
 //eslint 代码自动检查相关配置
 "eslint.enable": true,
 "eslint.run": "onType",
 "eslint.options": {
 "extensions": [
  ".js",
  ".vue"
 ]
 },
 // 添加 vue 支持
 "eslint.validate": [
 "javascriptreact",
 "vue",
 "javascript",
 {
  "language": "vue",
  "autoFix": true
 },
 "html",
 {
  "language": "html",
  "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",
 "explorer.confirmDelete": false,
 "vetur.format.defaultFormatterOptions": {
 "js-beautify-html": {
  "wrap_attributes": "force-aligned"
  // #vue组件中html代码格式化样式
 }
 },
 // 格式化stylus, 需安装Manta's Stylus Supremacy插件
 "stylusSupremacy.insertColons": false, // 是否插入冒号
 "stylusSupremacy.insertSemicolons": false, // 是否插入分好
 "stylusSupremacy.insertBraces": false, // 是否插入大括号
 "stylusSupremacy.insertNewLineAroundImports": false, // import之后是否换行
 "stylusSupremacy.insertNewLineAroundBlocks": false, // 两个选择器中是否换行
 "files.associations": {
 "*.cjson": "jsonc",
 "*.wxss": "css",
 "*.wxs": "javascript"
 },
 "emmet.includeLanguages": {
 "wxml": "html"
 },
 "minapp-vscode.disableAutoConfig": true,
 "window.menuBarVisibility": "visible",
 "git.enableSmartCommit": true,
 "git.autofetch": true,
 "liveServer.settings.donotShowInfoMsg": true,
 "[html]": {
 "editor.defaultFormatter": "vscode.html-language-features"
 },
 "javascript.updateImportsOnFileMove.enabled": "always",
 "workbench.colorTheme": "SynthWave '84",
 "editor.fontSize": 18,
 "search.followSymlinks": false,
 "workbench.sideBar.location": "right",
 "vscode_custom_css.policy": true,
 "vscode_custom_css.imports": [
 "file:///C:/Users/wongseedling/Desktop/vscode-transparent-glow/synthwave84.css",
 "file:///C:/Users/wongseedling/Desktop/vscode-transparent-glow/toolbar.css",
 "file:///C:/Users/wongseedling/Desktop/vscode-transparent-glow/vscode-vibrancy-style.css",
 "file:///C:/Users/wongseedling/Desktop/vscode-transparent-glow/enable-electron-vibrancy.js",
 ],
 // 高亮的颜色,emm暂时只支持这样写
 "wxmlConfig.activeColor": {
 "color": "#e5c07b"
 },
 // 是否禁用高亮组件
 "wxmlConfig.activeDisable": false,
 // 是否开启保存自动格式化
 "wxmlConfig.onSaveFormat": false,
 "wxmlConfig.format": {
 "brace_style": "collapse",
 "end_with_newline": false,
 "indent_char": "",
 "indent_handlebars": false,
 "indent_inner_html": false,
 "indent_scripts": "keep",
 "indent_size": 2,
 "indent_with_tabs": true,
 "max_preserve_newlines": 1,
 "preserve_newlines": true,
 "wrap_attributes": "force-expand-multiline"
 },
 // 高亮所忽略的组件数组
 "wxmlConfig.tagNoActiveArr": [
 "view",
 "button",
 "text",
 "icon",
 "image",
 "navigator",
 "block",
 "input",
 "template",
 "form",
 "camera",
 "textarea"
 ],
 "zenMode.restore": true,
 "breadcrumbs.enabled": true,
 "terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
 "[wxml]": {
 "editor.defaultFormatter": "qiu8310.minapp-vscode"
 },
 "gitlens.advanced.messages": {
 "suppressLineUncommittedWarning": true
 },
 "javascript.format.placeOpenBraceOnNewLineForControlBlocks": true,
 "editor.formatOnPaste": false,
 "vsicons.presets.hideFolders": true,
 "editor.cursorStyle": "line-thin"
}

第二版本

{
 // 換行
 "editor.wordWrap": "on",
 // 是否允许自定义的snippet片段提示
 "editor.snippetSuggestions": "top",
 // vscode默认启用了根据文件类型自动设置tabsize的选项 不檢查縮進,保存后統一按設置項來設置
 "editor.detectIndentation": false,
 // 重新设定tabsize 代码缩进修改成4个空格
 "editor.tabSize": 2,
 // #每次保存的时候自动格式化
 "editor.formatOnSave": false,
 // #每次保存的时候将代码按eslint格式进行修复 使用eslint 風格使用standard 進行代碼規則限制
 "editor.fontWeight": "200",
 "editor.formatOnType": false,
 "workbench.iconTheme": "material-icon-theme",
 "git.confirmSync": false,
 "team.showWelcomeMessage": false,
 "window.zoomLevel": 0,
 "editor.renderWhitespace": "boundary",
 "editor.cursorBlinking": "smooth",
 "editor.minimap.enabled": true,
 "editor.minimap.renderCharacters": false,
 "window.title": "${dirty}${activeEditorMedium}${separator}${rootName}",
 "editor.codeLens": true,
 //eslint 代码自动检查相关配置
 "eslint.enable": true,
 "eslint.run": "onType",
 "eslint.options": {
 "configFile": "D:/.eslintrc.js",
 "plugins": ["html"],
 "extensions": [
  ".js",
  ".vue"
 ]
 },
 "eslint.validate": [
 "javascript",
 "javascriptreact",
 "html",
 "vue"
],
 // #让prettier使用eslint的代码格式进行校验
 "prettier.eslintIntegration": true,
 // #去掉代码结尾的分号
 "prettier.semi": true,
 // #使用带引号替代双引号
 "prettier.singleQuote": true,
 // #让函数(名)和后面的括号之间加个空格
 "javascript.format.insertSpaceBeforeFunctionParenthesis": true,
 // #这个按用户自身习惯选择 html格式化
 "vetur.format.defaultFormatter.html": "js-beautify-html",
 // #让vue中的js按编辑器自带的ts格式进行格式化
 "vetur.format.defaultFormatter.js": "vscode-typescript",
 "explorer.confirmDelete": false,
 "vetur.format.defaultFormatterOptions": {
 "js-beautify-html": {
  "wrap_attributes": "force-aligned"
  // #vue组件中html代码格式化样式
 }
 },
 // 格式化stylus, 需安装Manta's Stylus Supremacy插件
 "stylusSupremacy.insertColons": false, // 是否插入冒号
 "stylusSupremacy.insertSemicolons": false, // 是否插入分好
 "stylusSupremacy.insertBraces": false, // 是否插入大括号
 "stylusSupremacy.insertNewLineAroundImports": false, // import之后是否换行
 "stylusSupremacy.insertNewLineAroundBlocks": false, // 两个选择器中是否换行
 "files.associations": {
 "*.cjson": "jsonc",
 "*.wxss": "css",
 "*.wxs": "javascript"
 },
 "emmet.includeLanguages": {
 "wxml": "html"
 },
 "minapp-vscode.disableAutoConfig": true,
 "window.menuBarVisibility": "visible",
 "git.enableSmartCommit": true,
 "git.autofetch": true,
 "liveServer.settings.donotShowInfoMsg": true,
 "[html]": {
 "editor.defaultFormatter": "vscode.html-language-features"
 },
 "javascript.updateImportsOnFileMove.enabled": "always",
 "workbench.colorTheme": "Default Dark+",
 // 字體大小
 "editor.fontSize": 15,
 // 設置行高
 "editor.lineHeight": 20,
 "search.followSymlinks": false,
 "workbench.sideBar.location": "right",
 "vscode_custom_css.policy": true,
 "vscode_custom_css.imports": [
 "file:///C:/vscode-transparent-glow/synthwave84.css",
 "file:///C:/vscode-transparent-glow/toolbar.css",
 "file:///C:/vscode-transparent-glow/vscode-vibrancy-style.css",
 "file:///C:/vscode-transparent-glow/enable-electron-vibrancy.js"
 ],
 // 高亮的颜色,emm暂时只支持这样写
 "wxmlConfig.activeColor": {
 "color": "#e5c07b"
 },
 // 是否禁用高亮组件
 "wxmlConfig.activeDisable": false,
 // 是否开启保存自动格式化
 "wxmlConfig.onSaveFormat": false,
 "wxmlConfig.format": {
 "brace_style": "collapse",
 "end_with_newline": false,
 "indent_char": "",
 "indent_handlebars": false,
 "indent_inner_html": false,
 "indent_scripts": "keep",
 "indent_size": 2,
 "indent_with_tabs": false,
 "max_preserve_newlines": 1,
 "preserve_newlines": false,
 "wrap_attributes": "force-expand-multiline"
 },
 // 高亮所忽略的组件数组
 "wxmlConfig.tagNoActiveArr": [
 "view",
 "button",
 "text",
 "icon",
 "image",
 "navigator",
 "block",
 "input",
 "template",
 "form",
 "camera",
 "textarea"
 ],
 "zenMode.restore": true,
 "breadcrumbs.enabled": true,
 "terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
 "[wxml]": {
 "editor.defaultFormatter": "qiu8310.minapp-vscode"
 },
 "gitlens.advanced.messages": {
 "suppressLineUncommittedWarning": true
 },
 "javascript.format.placeOpenBraceOnNewLineForControlBlocks": true,
 "editor.formatOnPaste": false,
 "vsicons.presets.hideFolders": true,
 "editor.cursorStyle": "line-thin",
 "editor.suggestSelection": "first",
 "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
 "editor.codeActionsOnSave": {
 "source.fixAll.eslint": true
 },
 "terminal.integrated.rendererType": "dom",
 "vscode_vibrancy.opacity": 0.5
}

第一项 VS code编辑使用eslint的规则去格式化代码

{
 "[javascript]": {
 "editor.defaultFormatter": "HookyQR.beautify"
 },
 "[html]": {
 "editor.defaultFormatter": "HookyQR.beautify"
 },
 "eslint.validate": [
 "javascript",
 "javascriptreact",
 "vue-html",
 {
  "language": "vue",
  "autoFix": true
 }
 ],
 "eslint.run": "onSave",
 "eslint.autoFixOnSave": true,
 "editor.codeActionsOnSave": {
 "source.fixAll.eslint": true
 },
}

VS code还可以指定ESLint的格式文件

"eslint.options": {
 "configFile": "E:/git/github/styleguide/eslint/.eslintrc.js",
 "plugins": ["html"]
},
"eslint.validate": [
 "javascript",
 "javascriptreact",
 "html",
 "vue"
]

第二项 使用 Prettier - Code formatter 根据eslint的规则去格式化代码

"[vue]": {
  "editor.defaultFormatter": "esbenp.prettier-vscode"
 },
 "[javascript]": {
  "editor.defaultFormatter": "esbenp.prettier-vscode"
 },
 "eslint.validate": [
  "javascript",
  "javascriptreact",
  "vue-html",
  {
   "language": "vue",
   "autoFix": true
  }
 ],
 "eslint.run": "onSave",
 "eslint.autoFixOnSave": true,
 "editor.codeActionsOnSave": {
  "source.fixAll.eslint": true
 },

 "prettier.printWidth": 200,
 "prettier.requireConfig": true,
 "prettier.semi": false,
 "prettier.useEditorConfig": false,
 "prettier.useTabs": true,

{
 // 換行
 "editor.wordWrap": "on",
 // 是否允许自定义的snippet片段提示
 "editor.snippetSuggestions": "top",
 // vscode默认启用了根据文件类型自动设置tabsize的选项 不檢查縮進,保存后統一按設置項來設置
 "editor.detectIndentation": false,
 // 重新设定tabsize 代码缩进修改成4个空格
 "editor.tabSize": 2,
 // #每次保存的时候自动格式化
 "editor.formatOnSave": false,
 // #每次保存的时候将代码按eslint格式进行修复 使用eslint 風格使用standard 進行代碼規則限制
 "editor.fontWeight": "200",
 "editor.formatOnType": false,
 "workbench.iconTheme": "vscode-icons-mac",
 "git.confirmSync": false,
 "team.showWelcomeMessage": false,
 "window.zoomLevel": 0,
 "editor.renderWhitespace": "boundary",
 "editor.cursorBlinking": "smooth",
 "editor.minimap.enabled": true,
 "editor.minimap.renderCharacters": false,
 "window.title": "${dirty}${activeEditorMedium}${separator}${rootName}",
 "editor.codeLens": true,
 //eslint 代码自动检查相关配置
 "eslint.enable": true,
 "eslint.run": "onType",
 "eslint.options": {
 "configFile": "D:/.eslintrc.js",
 "plugins": [
  "html"
 ],
 "extensions": [
  ".js",
  ".vue"
 ]
 },
 "eslint.validate": [
 "javascript",
 "javascriptreact",
 "html",
 "vue"
 ],
 // #让prettier使用eslint的代码格式进行校验
 "prettier.eslintIntegration": true,
 // #去掉代码结尾的分号
 "prettier.semi": true,
 // #使用带引号替代双引号
 "prettier.singleQuote": true,
 // #让函数(名)和后面的括号之间加个空格
 "javascript.format.insertSpaceBeforeFunctionParenthesis": true,
 // #这个按用户自身习惯选择 html格式化
 "vetur.format.defaultFormatter.html": "js-beautify-html",
 // #让vue中的js按编辑器自带的ts格式进行格式化
 "vetur.format.defaultFormatter.js": "vscode-typescript",
 "explorer.confirmDelete": false,
 "vetur.format.defaultFormatterOptions": {
 "js-beautify-html": {
  "wrap_attributes": "force-aligned"
  // #vue组件中html代码格式化样式
 }
 },
 // 格式化stylus, 需安装Manta's Stylus Supremacy插件
 "stylusSupremacy.insertColons": false, // 是否插入冒号
 "stylusSupremacy.insertSemicolons": false, // 是否插入分好
 "stylusSupremacy.insertBraces": false, // 是否插入大括号
 "stylusSupremacy.insertNewLineAroundImports": false, // import之后是否换行
 "stylusSupremacy.insertNewLineAroundBlocks": false, // 两个选择器中是否换行
 "files.associations": {
 "*.cjson": "jsonc",
 "*.wxss": "css",
 "*.wxs": "javascript"
 },
 "emmet.includeLanguages": {
 "wxml": "html"
 },
 "minapp-vscode.disableAutoConfig": true,
 "window.menuBarVisibility": "visible",
 "git.enableSmartCommit": true,
 "git.autofetch": true,
 "liveServer.settings.donotShowInfoMsg": true,
 "[html]": {
 "editor.defaultFormatter": "vscode.html-language-features"
 },
 "javascript.updateImportsOnFileMove.enabled": "always",
 "workbench.colorTheme": "SynthWave '84",
 // 字體大小
 "editor.fontSize": 15,
 // 設置行高
 "editor.lineHeight": 20,
 "search.followSymlinks": false,
 "workbench.sideBar.location": "left",
 "vscode_custom_css.policy": true,
 "vscode_custom_css.imports": [
 "file:///C:/vscode-transparent/synthwave84.css",
 "file:///C:/vscode-transparent/toolbar.css",
 "file:///C:/vscode-transparent/vscode-vibrancy-style.css",
 "file:///C:/vscode-transparent/enable-electron-vibrancy.js"
 ],
 // 高亮的颜色,emm暂时只支持这样写
 "wxmlConfig.activeColor": {
 "color": "#e5c07b"
 },
 // 是否禁用高亮组件
 "wxmlConfig.activeDisable": false,
 // 是否开启保存自动格式化
 "wxmlConfig.onSaveFormat": false,
 "wxmlConfig.format": {
 "brace_style": "collapse",
 "end_with_newline": false,
 "indent_char": "",
 "indent_handlebars": false,
 "indent_inner_html": false,
 "indent_scripts": "keep",
 "indent_size": 2,
 "indent_with_tabs": false,
 "max_preserve_newlines": 1,
 "preserve_newlines": false,
 "wrap_attributes": "force-expand-multiline"
 },
 // 高亮所忽略的组件数组
 "wxmlConfig.tagNoActiveArr": [
 "view",
 "button",
 "text",
 "icon",
 "image",
 "navigator",
 "block",
 "input",
 "template",
 "form",
 "camera",
 "textarea"
 ],
 "zenMode.restore": true,
 "breadcrumbs.enabled": true,
 "terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
 "[wxml]": {
 "editor.defaultFormatter": "qiu8310.minapp-vscode"
 },
 "gitlens.advanced.messages": {
 "suppressLineUncommittedWarning": true
 },
 "javascript.format.placeOpenBraceOnNewLineForControlBlocks": true,
 "editor.formatOnPaste": false,
 "vsicons.presets.hideFolders": true,
 "editor.cursorStyle": "line-thin",
 "editor.suggestSelection": "first",
 "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
 "editor.codeActionsOnSave": {
 "source.fixAll.eslint": true
 },
 "terminal.integrated.rendererType": "dom",
 "vscode_vibrancy.opacity": 1,
 "npm.fetchOnlinePackageInfo": false
}