首页 > 其他分享 >[VueJsDev] 快速入门 - vscode 自动格式化

[VueJsDev] 快速入门 - vscode 自动格式化

时间:2023-01-14 21:05:55浏览次数:60  
标签:格式化 format vscode javascript Step editor VueJsDev true vetur


vscode 自动格式化(vue)

::: details 目录

目录

  • ​vscode 自动格式化(vue)​
  • ​​Step. 1: .editorconfig​​
  • ​​Step. 2: jsconfig.json​​
  • ​​Step. 3: .eslintrc.js​​
  • ​​Step. 4: settings.json​​
  • ​​Step. 5: editor 编辑器设置​​
  • ​​Step. 6: eslint-代码检测设置​​
  • ​​Step. 7: 其他文件配置设置​​
  • ​​Step. 8: vue格式化文件设置 vetur​​
  • ​​Step. 9: javascript设置(vetur内部和外部js)​​
  • ​​Step. 10: 智能友好设置​​


:::

这篇文章主要讲解下vue开发代码自动格式化,力争讲明白。
::: tip

  • eslint 插件要安装
    :::

Step. 1: .editorconfig

编辑器的格式化配置文件
::: details 配置文件代码

// .editorconfig
root = true

[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

:::

Step. 2: jsconfig.json

这个配置文件很重要,代码自动跳转就靠它了
::: details 配置文件代码

{
"compilerOptions": {
"target": "ES6",
"module": "commonjs",
"allowSyntheticDefaultImports": true,
"baseUrl": "./",
"paths": {
"@/*": ["src/*"]
}
},
"include": [
"src/**/*"
],
"exclude": [
"node_modules"
]
}

:::

Step. 3: .eslintrc.js

eslint别的不熟没事,rules一定要会看,vscode报错的时候,ctrl+v过来设置关闭验证用

::: details 配置文件代码

module.exports = {
root: true,
'extends': [
'plugin:vue/essential',
'@vue/standard'
],
rules: {
// allow async-await
'generator-star-spacing': 'off',
// allow debugger during development
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'vue/no-parsing-error': [2, {
'x-invalid-end-tag': false
}],
'no-undef': 'off'
},
parserOptions: {
parser: 'babel-eslint'
}
}

:::

Step. 4: settings.json

前面几个配置文件都是这个文件的外层文件,一定要重视

  • editor 编辑器设置
  • eslint-代码检测设置
  • 其他文件配置设置
  • vue格式化文件设置 vetur
    ::: tip vue单独设置
    单独设置html js css 单独格式化
    :::
  • javascript设置(vetur内部和外部js)
  • 智能友好设置

Step. 5: editor 编辑器设置

{
// 自动格式化配置 Start
// 自动格式化配置-editor-编辑器部分
"editor.formatOnSave": false, // 这个保存时候进行格式化 - 多项目的时候关闭自动格式化
"editor.codeActionsOnSave": {
// 保存时候 eslint修复
"source.fixAll.eslint": false,
"addMissingImports": false
},
"editor.fontSize": 20,
"editor.fontLigatures": false,
"editor.fontWeight": "400",
"editor.lineHeight": 34,
"editor.letterSpacing": 0,
"editor.tabSize": 2,
"editor.insertSpaces": true,
"editor.detectIndentation": true,
"editor.wordWrap": "off",
"editor.renderLineHighlight": "gutter",
"editor.roundedSelection": true,
"editor.renderControlCharacters": true,
"editor.dragAndDrop": false,
"editor.minimap.enabled": true,
"editor.minimap.showSlider": "mouseover",
"editor.minimap.renderCharacters": true,
"editor.minimap.maxColumn": 200,
"editor.quickSuggestions": {
"strings": true
},
"editor.suggestSelection": "first",
"editor.fontFamily": "'Fira Code', '霞鹜文楷等宽 Light', Consolas, 'Courier New'",
"editor.gotoLocation.multipleDeclarations": "goto",
"editor.gotoLocation.multipleDefinitions": "goto",
"editor.gotoLocation.multipleImplementations": "goto",
"editor.gotoLocation.multipleReferences": "goto",
"editor.gotoLocation.multipleTypeDefinitions": "goto",
"editor.guides.indentation": true,
"editor.accessibilitySupport": "off",
}

Step. 6: eslint-代码检测设置

{
// 自动格式化配置-eslint-代码检测
"eslint.alwaysShowStatus": true,
"eslint.format.enable": true,
"eslint.validate": [
"javascript",
"javascriptreact",
"vue",
"typescript",
"typescriptreact"
],
}

Step. 7: 其他文件配置设置

{
// 自动格式化配置-其他文件配置
"[markdown]": {
"editor.minimap.enabled": true,
"editor.wordWrap": "on",
"editor.quickSuggestions": {
"comments": "off",
"strings": "off",
"other": "off"
},
"editor.formatOnSave": false
},
"[jsonc]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"[typescriptreact]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
},
"[typescript]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
},
"[json]": {
"editor.defaultFormatter": "vscode.json-language-features"
},

"[html]": {
// "editor.formatOnSave": false,
"editor.defaultFormatter": "HookyQR.beautify"
},
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[less]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "vscode.typescript-language-features" // esbenp.prettier-vscode HookyQR.beautify
},
}

Step. 8: vue格式化文件设置 vetur

{
// 自动格式化配置-Vue文件配置
"[vue]": {
// "editor.defaultFormatter": "dbaeumer.vscode-eslint"
// "editor.defaultFormatter": "HookyQR.beautify"
"editor.defaultFormatter": "octref.vetur"
},
"files.associations": {
"*.vue": "vue" // 应该vetur用
},
// 自动格式化配置-Vue文件配置-vetur
"vetur.format.enable": true,
"vetur.validation.template": true,
"vetur.validation.script": true,
"vetur.validation.style": true,
"vetur.format.options.tabSize": 2, // 每个缩进级别的空格数,由所有格式化程序继承
"vetur.format.scriptInitialIndent": false, // js部分是否有初始缩进
"vetur.format.defaultFormatter.js": "vscode-typescript", // prettier-eslint vscode-typescript prettier
"vetur.format.defaultFormatter.html": "js-beautify-html", // js-beautify-html
"vetur.format.defaultFormatter.css": "prettier", // prettier
"vetur.format.defaultFormatter.less": "prettier",
"vetur.format.defaultFormatterOptions": {
"js-beautify-html": {
"wrap_attributes": "force-aligned", // 属性折行对齐方式
"wrap_line_length": 120, // 设置一行多少字符换行
"end_with_newline": false
},
"prettier": {
"semi": false,
"trailingComma": "all",
"arrowParens": "avoid",
},
},
}

Step. 9: javascript设置(vetur内部和外部js)

{
// 自动格式化配置-Vue文件配置-vetur-(vscode-typescript = vscode.typescript-language-features)
"javascript.format.enable": true, // 20211102bug 发现js格式化不起错用,这个是false 并且[javascript] 需要注释掉
"javascript.format.insertSpaceAfterConstructor": false,
"javascript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
"javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
"javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
"javascript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
"javascript.format.insertSpaceAfterSemicolonInForStatements": true,
"javascript.format.placeOpenBraceOnNewLineForControlBlocks": false,
"javascript.format.placeOpenBraceOnNewLineForFunctions": false,
"javascript.format.insertSpaceBeforeFunctionParenthesis": true, // 让函数名和后面的括号之间加个空格
"javascript.format.insertSpaceAfterCommaDelimiter": true, // 逗号后面有空格
"javascript.format.insertSpaceBeforeAndAfterBinaryOperators": true, // 运算符前后有空格
"javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true, // 大括号前面插空格
"javascript.format.insertSpaceAfterKeywordsInControlFlowStatements": true, // 关键字后面加空格
"javascript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions": true, // 匿名函数后面加空格
"javascript.format.semicolons": "remove", // 要设置 vscode.typescript-language-features
"javascript.updateImportsOnFileMove.enabled": "always",
"typescript.updateImportsOnFileMove.enabled": "always",
"js/ts.implicitProjectConfig.experimentalDecorators": true,
}

Step. 10: 智能友好设置

{
// 自动格式化配置-智能友好
"tabnine.experimentalAutoImports": true,
"vue-helper.alias": {
"_c": "src/components/",
"@": "src/"
},
"vue-helper.componentPrefix": {
"alias": "@",
"path": "src"
},
"vue-helper.componentPath": [
"./*",
"./components/*"
],
"alias-skip.mappings": {
"@": "/src",
"_c": "/src/components"
},
// 自动格式化配置 End
}

---------------------------------------------
生活的意义并不是与他人争高下,而在于享受努力实现目标的过程,结果是对自己行动的嘉奖。
↑面的话,越看越不痛快,应该这么说:

生活的意义就是你自己知道你要做什么,明确目标。没有目标,后面都是瞎扯!

新博客 ​​​https://www.VuejsDev.com​​ 用于梳理知识点



标签:格式化,format,vscode,javascript,Step,editor,VueJsDev,true,vetur
From: https://blog.51cto.com/u_15770151/6007740

相关文章

  • [VueJsDev] 快速入门 - vscode 插件推荐
    Vscode插件推荐:::details目录目录​Vscode插件推荐​​​Font.1:字体推荐​​​​Them.2:Ayu主题​​​​Them.3:SpacegrayVSCode​​​​Plug.4:Veturvue2......
  • [VueJsDev] 基础知识 - CommonJs VS ES Module
    CommonJsVSESModule:::details目录目录​CommonJsVSESModule​​​Part.1:CommonJs​​​​Part.2:ESModule​​​​Part.3:CJS对比ESM表​​​​Code.4......
  • [VueJsDev] 基础知识 - 常见编码集
    常用编码集:::details目录目录​常用编码集​​​Part.1:Unicode编码​​​​Part.2:ASCII编码​​​​Part.3:HTML实体名称​​​​Part.4:UTF8编码​​​​......
  • [VueJsDev] 基础知识 - ES6循环使用手册
    ES6循环使用手册:::details目录目录​ES6循环使用手册​​​Array.1:filter()方法​​​​Array.2:forEach​​​​Array.3:for循环​​​​Array.4:map()循环​......
  • [VueJsDev] 基础知识 - asyncTool.js异步执行工具
    asyncTool.js异步执行工具:::details目录目录​asyncTool.js异步执行工具​​​Step.1:getAc使用方法​​​​Meth.2:use方法​​​​Meth.3:run方法​​​​M......
  • [VueJsDev] 基础知识 - Node.js常用函数
    Node.js常用函数总结常用node函数用的ESM模块。//package.json"type":"module",Func.1:读取文件-同步/异步读取path文件​​ESM模式​​同步读取文件import{......
  • [VueJsDev] 基础知识 - snippetsLab 代码片段
    代码片段:::details目录目录​代码片段​​​Step.1:massCode代码片段管理​​​​Step.2:Vue2init​​:::vscode中按ctrl+p输入vue.json即可打开vue模板第......
  • [VueJsDev] 基础知识 - AutoNumber VsCode 插件开发
    AutoNumberVsCode插件开发:::details目录目录​AutoNumberVsCode插件开发​​​Step.2:安装脚手架​​​​Step.3:创建空项目​​​​Step.4:打包发布​​​​Ste......
  • [VueJsDev] 基础知识 - Button的全局节流
    Button的全局节流:::details目录目录​Button的全局节流​​​Step.1:注册函数​​​​Step.2:局部节流函数失效处理​​​​Code.3:setVueClickGlobalThrottle.js......
  • [VueJsDev] 其他知识 - 单词本
    单词本z这里的单词就是很随性的记忆,来源有生活中能见到的,或者抖音见到的等等~~:::details目录目录​单词本z​​​approachable易理解的​​​​reserved保留​​​​g......