1、前言
??團(tuán)隊(duì)協(xié)作是稍具規(guī)模公司必不可少的問(wèn)題摆尝,也是項(xiàng)目開發(fā)進(jìn)度保證的重要基石温艇。只有團(tuán)隊(duì)協(xié)作,各自的功力發(fā)揮到極致堕汞,才能保證團(tuán)隊(duì)生產(chǎn)力最大化勺爱。隨著團(tuán)隊(duì)增加,統(tǒng)一的代碼風(fēng)格就越來(lái)越重要讯检,為此使用 VS Code 配置自動(dòng)格式化琐鲁,統(tǒng)一代碼規(guī)范。
2人灼、代碼風(fēng)格
- 整體風(fēng)格
-
javascript
大體上遵循ESlint
規(guī)范 -
html
围段、wxml
大體上遵循prettyhtml
規(guī)范
-
-
javascript
細(xì)節(jié)調(diào)整- 結(jié)尾無(wú)分號(hào)
- 超過(guò)140個(gè)字符換行
- 使用單引號(hào)
- 無(wú)尾隨逗號(hào)
- 箭頭函數(shù)單個(gè)參數(shù)不加分號(hào)
3、準(zhǔn)備插件
VS Code插件
-
Vuter
提供vue
代碼片段投放、語(yǔ)法支持奈泪、代碼高亮等 -
ESlint
檢查javascript
語(yǔ)法檢查和代碼規(guī)范 -
Prettier - Code formatter
各種代碼格式化 -
minapp
微信小程序標(biāo)簽、屬性的智能補(bǔ)全
4跪呈、個(gè)性化配置
1. 開發(fā)方式
- 打開
VS Code
配置文件setting.json
- 快捷鍵
ctrl + shirt + p
段磨,搜索Settings(JSON)
2. 個(gè)性化配置
{
// 使用vscode-icons主題
"workbench.iconTheme": "vscode-icons",
// 每次保存的時(shí)候?qū)⒋a按格式進(jìn)行修復(fù)
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll": true
},
"eslint.validate": ["javascript", "javascriptreact", "vue"],
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[vue]": {
"editor.defaultFormatter": "octref.vetur"
},
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
// 默認(rèn)使用prettier格式化支持的文件
"vetur.format.defaultFormatter.js": "prettier",
"vetur.format.defaultFormatter.html": "prettyhtml",
"vetur.format.defaultFormatterOptions": {
"prettier": {
// 結(jié)尾無(wú)分號(hào)
"semi": false,
// 超過(guò)140個(gè)字符換行
"printWidth": 140,
// 使用單引號(hào)
"singleQuote": true,
// 無(wú)尾隨逗號(hào)
"trailingComma": "none",
// 箭頭函數(shù)單個(gè)參數(shù)不加分號(hào)
"arrowParens": "avoid"
},
"prettyhtml": {
"printWidth": 140
}
},
// 同上prettier格式化代碼
"prettier.semi": false,
"prettier.printWidth": 140,
"prettier.trailingComma": "none",
"prettier.singleQuote": true,
"prettier.arrowParens": "avoid",
"files.associations": {
"*.cjson": "jsonc",
"*.wxss": "css",
"*.wxs": "javascript"
},
// 指定wxml的格式化
"minapp-vscode.wxmlFormatter": "prettyHtml",
"minapp-vscode.disableAutoConfig": true
}