不就是代码缩进吗?别打起来啊

15,943 阅读1分钟

免战申明

本文不讨论两种缩进方式的优劣,只提供一种能够同时兼容大家关于缩进代码风格的解决方案

字符缩进,2还是4?

很久之前,组内开发时发现大家的tab.size不一样,有的伙伴表示都能接受,有的伙伴习惯使用2字符缩进,有的伙伴习惯4字符缩进,导致开发起来很痛苦,一直在寻找兼容大家代码风格的办法,今天终于研究出一种解决方案(不一定适用所有人)。

工具准备

  1. vscode
  2. prettierrc插件

解决方案

首先设置"editor.tabSize"为自己习惯的tabSize

image.png

设置tab按下时不插入空格"editor.insertSpaces": false

image.png

项目根目录下创建.prettierrc(可添加到.gitignore),设置"useTabs": true

{
    "printWidth": 180,
    "semi": true,
    "singleQuote": true,
    //使用tab进行格式化
    "useTabs": true
}

image.png

设置展示效果"editor.renderWhitespace": "selection"

image.png

兼容微信小程序

vscode全局设置(settings.ison)内,加入以下代码

"prettier.documentSelectors": ["**/*.wxml", "**/*.wxss", "**/*.wxs"],
"[wxml]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[wxss]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[wxs]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
},

项目根目录内.prettierrc(没有则创建)加入overrides

"overrides": [
    {
        "files": "*.wxml",
        "options": { "parser": "html" }
    },
    {
        "files": "*.wxss",
        "options": { "parser": "css" }
    },
    {
        "files": "*.wxs",
        "options": { "parser": "babel" }
    }
]

最终效果

image.png

image.png

image.png

image.png

可以看到,编辑器内设置不同的代码缩进,展示效果不同,但最终提交的代码风格一致。 (小缺陷:对于强制要求使用空格代替tab的情况不适用)