扒一扒vscode Prettier选项中的16个实用属性,让代码变美!

1. Prettier是什么

Prettier是一款代码格式化工具,它能够自动化地让代码的样式变得更加统一和美观。使用Prettier的好处在于,开发者无需关心代码排版的问题,只需要专注于写出正确的代码,在保存代码时候,Prettier就会自动将代码按照指定的规则进行格式化。Prettier适用于各种类型的编程语言(JavaScript, TypeScript, Vue, 某些简单的CSS等等)。

2. 如何使用Prettier

要使用Prettier,我们需要先在本地安装它:

npm install prettier --save-dev

安装好之后,我们可以使用以下命令来格式化代码:

npx prettier --write your-path-to-file

其中,--write参数表示将格式化后的代码写入原文件,不会产生副本文件。

3. VS Code集成Prettier

为了更方便地使用Prettier,我们可以将它与VS Code集成起来。首先,我们需要在VS Code的插件商店中安装"Prettier - Code formatter"插件。

在安装完插件之后,我们还需要去设置中配置Prettier。Prettier的配置选项可以在VS Code中的 Settings --> Extensions --> Prettier 下进行,或者在"settings.json"文件中添加配置:

{

"prettier.printWidth": 80,

"prettier.tabWidth": 2,

"prettier.useTabs": false,

"prettier.semi": true,

"prettier.singleQuote": true,

"prettier.jsxSingleQuote": false,

"prettier.trailingComma": "es5",

"prettier.bracketSpacing": true,

"prettier.jsxBracketSameLine": false,

"prettier.arrowParens": "avoid",

"prettier.requirePragma": false,

"prettier.insertPragma": false,

"prettier.proseWrap": "preserve",

"prettier.htmlWhitespaceSensitivity": "css",

"prettier.endOfLine": "auto"

}

以上配置项是Prettier支持的大多数选项,我们可以根据实际需要进行配置。

4. Prettier选项中的16个实用属性

4.1 printWidth

printWidth属性表示每行代码的长度,当一行的长度超出该值时,Prettier会将代码进行折叠。

{

"prettier.printWidth": 80

}

4.2 tabWidth

tabWidth属性表示使用tab缩进时的空格数,在使用空格代替tab的情况下会被忽略。

{

"prettier.tabWidth": 4

}

4.3 useTabs

useTabs属性表示是否使用tab缩进,默认为false,即使用空格代替tab。

{

"prettier.useTabs": false

}

4.4 semi

semi属性表示是否在语句结尾添加分号,建议开启,以防止意外错误。

{

"prettier.semi": true

}

4.5 singleQuote

singleQuote属性表示是否使用单引号,建议开启,因为单引号更为简洁。

{

"prettier.singleQuote": true

}

4.6 jsxSingleQuote

jsxSingleQuote属性表示在JSX代码中是否使用单引号。

{

"prettier.jsxSingleQuote": false

}

4.7 trailingComma

trailingComma属性表示是否在对象和数组的最后一个元素后添加逗号,建议开启,可以帮助解决代码版本管理中的冲突问题。

{

"prettier.trailingComma": "es5"

}

4.8 bracketSpacing

bracketSpacing属性表示数组和对象的花括号之间是否添加空格。

{

"prettier.bracketSpacing": true

}

4.9 jsxBracketSameLine

jsxBracketSameLine属性表示在JSX元素的属性中,是否将>单独放在一行上。

{

"prettier.jsxBracketSameLine": true

}

4.10 arrowParens

arrowParens属性表示箭头函数的形参是否使用括号。

{

"prettier.arrowParens": "avoid"

}

4.11 requirePragma

requirePragma属性表示是否在文件顶部加上 Prettier 的特殊注释才会进行格式化。

{

"prettier.requirePragma": false

}

4.12 insertPragma

insertPragma属性表示是否在文件顶部插入特殊注释,标识该文件已经被 Prettier 格式化过。

{

"prettier.insertPragma": false

}

4.13 proseWrap

proseWrap定义了Prettier将如何在Markdown文件中处理文本换行。

{

"prettier.proseWrap": "preserve"

}

4.14 htmlWhitespaceSensitivity

htmlWhitespaceSensitivity定义了Prettier在HTML/CSS中处理空格敏感度的级别。

{

"prettier.htmlWhitespaceSensitivity": "css"

}

4.15 endOfLine

endOfLine属性可以设置Prettier的换行符行为,支持auto、lf、crlf、cr四个值。建议使用auto,以适应不同系统的环境。

{

"prettier.endOfLine": "auto"

}

4.16 overrides

overrides属性可以覆盖针对特定文件类型的一般设置。

{

"prettier.overrides": [

{

"files": "*.md",

"options": {

"proseWrap": "never"

}

}

]

}

总结

以上介绍了Prettier的基础概念、使用方法以及16个重要配置属性,当然,Prettier的配置项还远远不止以上这些。尽管在项目中使用Prettier可以使得代码更加整洁和美观,但过于严格的代码格式要求可能会导致协作中的一些问题,比如代码的冲突等。因此,在实际开发中需要根据项目的特殊情况进行合理的调整,并在团队中树立一致的观念和规范。