[VueJsDev] 快速入门 - vscode 自动格式化
[VueJsDev] 目录列表
https://www.cnblogs.com/pengchenggang/p/17037320.html
vscode 自动格式化(vue)
::: details 目录
:::
这篇文章主要讲解下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
}
[VueJsDev] 快速入门 - vscode 自动格式化的更多相关文章
- 对 vscode 自动格式化的结果不太满意,我们该如何自己调整直至自己满意为止
前提概述 采用vue-cli 3.0自动生成vue项目,选了ESlint+Prettier,在写request.js的时候,顺手用vscode右击格式化文件(Alt+Shift+F),一下子报了8个问 ...
- vscode 快速入门
vscode 快速入门 本篇主要讲解 vscode 使用中的一些经验: 配置 vue 开发环境 - Vetur+ESLint+Prettier 代码片段的使用 常用插件 如何完全卸载 vscode 通 ...
- vsCode 设置vue 保存自动格式化代码
setting { // vscode默认启用了根据文件类型自动设置tabsize的选项 "editor.detectIndentation": false, // 重新设定tab ...
- webpack快速入门——实战技巧:watch的正确使用方法,webpack自动打包
随着项目大了,后端与前端联调,我们不需要每一次都去打包,这样特别麻烦,我们希望的场景是,每次按保存键,webpack自动为我们打包,这个工具就是watch! 因为watch是webpack自带的插件, ...
- 解决vscode按下ctrl+S的时候自动格式化
按下ctrl+S的时候自动格式化 为什么需要这种操作? 优点: 保存的时候格式化,让我们的代码自动格式化,减少人工调整. 缺点: 有一些打好包的JS有时候修改一下,但不需要格式化,因为打好包就是要压缩 ...
- vscode写python时的代码错误提醒和自动格式化
python的代码错误检查通常用pep8.pylint和flake8,自动格式化代码通常用autopep8.yapf.black.这些工具均可以利用pip进行安装,这里介绍传统的利用pip.exe安装 ...
- vscode+eslint自动格式化vue代码的方法
前言 使用vscode开发vue项目的时候,为了编码格式的统一化,使用eslint规范进行格式化.此时通过eslint插件可以实现对vue代码的自动格式化. 使用方式 在vscode的插件模块处,搜索 ...
- vscode+eslint项目规范化,自动格式化配置(项目中用到的)
项目如果没有格式化插件就会变得十分拥挤,并且因为个人的开发习惯不同,会导致多人配合的时候,某些人的格式不能与你的兼容 导致项目大面积冲突,这样一来统一的格式和开发规范就十分必要了. 1.下载使用vsc ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(2)|VSCODE配置]
我们今天来配置下vscode+rust. vscode开发rust很方便.但配置有点坑,我们都认为vscode很简单,很完善. 但这里很多同学也出现不少问题. 我们在这里简单记录下win7下配置的过程 ...
- vs code 关闭保存自动格式化 formatonsave - [vscode] - [html]
有时候Ctrl+s保存,html代码哥格式会紊乱. 造成这个原因一般是我们基本都在用的一个插件: 是机器学习中的一个领域 ...
- 从嘉手札<2023-10-30 >
杂诗 壬戌辛酉日夜,闲看日月,秋风萧瑟,感怀予身期年孑然,岁月难留,故有所感,藉以此诗. 闲来无事,细数春秋. 初月难盈,残烛易收. 未若知人意,夜夜息绝游. 红叶醉天水,星河绕满楼. 竹影戚戚乱,岁 ...
- STM32CubeMX教程31 USB_DEVICE - HID外设_模拟键盘或鼠标
1.准备材料 正点原子stm32f407探索者开发板V2.4 STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK-Arm) ST-LINK/V2驱动 ...
- (C语言)每日代码||2023.12.24||fwrite()可以写入字符数组中的'\0'
void test() { FILE* fp = fopen("test.txt", "w"); if (fp == NULL) { perror(" ...
- 视觉slam十四讲 ch3 三维刚体运动
视觉slam十四讲 ---CH3 三维刚体运动 三维刚体运动,即三维空间下的刚体的运动.刚体,是指在运动中和受力作用后,形状和大小不变,而且内部各点的相对位置不变的物体.在运动过程中,机器人或者飞机和 ...
- .NET Core开发实战(第26课:工程结构概览:定义应用分层及依赖关系)--学习笔记
26 | 工程结构概览:定义应用分层及依赖关系 从这一节开始进入微服务实战部分 这一节主要讲解工程的结构和应用的分层 在应用的分层这里定义了四个层次: 1.领域模型层 2.基础设施层 3.应用层 4. ...
- 思维分析逻辑 4 DAY
目录 竞品分析 波特五力模型 竞品分析步骤 分析目的 对比分析 初步结论 活动营销分析 用户增长分析 用户增长基本模型 渠道思维(前期) 用户思维(中期) ROI思维(后期) 增长思维 北极星指标:一 ...
- Git识别文件权限修改
刚打开IDE,工作区的代码状态全部变成修改未提交的状态了?这是这么回事?这是因为Git忽略文件权限或者拥有者改变导致的git状态变化.默认Git会记录文件的权限信息,如果文件的权限信息被修改,在Git ...
- Gerrit 笔记
Gerrit 通过git push后增加一个中间状态, 来完成代码审批环节, 因此在git commit的时候增加了一个change id, 并且push到定制的target, 在push之后, 需要 ...