Prettier是否有设置可在React/JSX中实现更紧凑的格式化?
解决Prettier格式化React函数参数换行问题
当使用Prettier格式化React/JSX代码时,若组件函数的参数对象行宽超过默认80字符,Prettier会自动将每个参数属性单独换行,但如果希望将所有属性放在同一缩进行内(不超过行宽限制),可以尝试以下方案:
方案一:调整行宽阈值
Prettier的printWidth配置控制格式化时的最大行宽,默认值为80。如果你的参数总长度接近80,可以适当调大这个值,让Prettier判定无需拆分换行。
在VS Code的设置中添加如下配置:
"prettier.printWidth": 120
注:数值可根据实际代码长度调整,只要参数总长度不超过设定值,Prettier就会保持所有属性在同一行。
方案二:理解Prettier的“固执”特性
需要注意的是,Prettier是一款**固执己见(opinionated)**的格式化工具,它的很多换行逻辑是固定的。如果参数行宽确实超过设定的printWidth,Prettier默认会将每个属性单独换行,目前没有原生配置能强制让所有属性放在同一缩进行内——这是它预设的代码风格。
如果必须严格实现你期望的格式,只能通过结合ESLint自定义规则的方式覆盖,但这种方式可能导致Prettier与ESLint的规则冲突,需要额外的配置成本。
内容的提问来源于stack exchange,提问作者Jeffery Tang
相关产品推荐
相关产品推荐

