.prettierrc.cjs 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. module.exports = {
  2. // 配置vscode优先使用本文件格式化文件 https://blog.csdn.net/a843334549/article/details/115391605
  3. // 以下为 @trivago/prettier-plugin-sort-imports 配置,若未使用可删去
  4. // importOrder 中的文件顺序规范,可依据项目实际情况自行更改
  5. // 改完 importOrder 重启一下vscode才会生效
  6. plugins: [require.resolve('@trivago/prettier-plugin-sort-imports')],
  7. importOrder: [
  8. '^vite',
  9. '^react',
  10. '^react-router',
  11. '^zustand',
  12. 'store',
  13. 'router',
  14. '<THIRD_PARTY_MODULES>',
  15. 'hooks/',
  16. 'api/',
  17. 'utils/',
  18. 'constants/',
  19. 'pages/',
  20. '^antd',
  21. '^@ant-design',
  22. 'styles/',
  23. 'theme/',
  24. 'components/',
  25. '^[./]'
  26. ],
  27. importOrderSortSpecifiers: true, // 一个布尔值,用于启用或禁用 import declarations 中说明符的排序。
  28. importOrderGroupNamespaceSpecifiers: true, // 一个布尔值,用于启用或禁用将命名空间说明符排序到导入组的顶部。
  29. importOrderCaseInsensitive: true, // 一个布尔值,用于在排序算法中启用不区分大小写,用于对每个匹配组中的导入进行排序。
  30. /**
  31. * 换行宽度,当代码宽度达到多少时换行
  32. * @default 100
  33. * @type {number}
  34. */
  35. printWidth: 100,
  36. /**
  37. * 缩进的空格数量
  38. * @default 2
  39. * @type {number}
  40. */
  41. tabWidth: 2,
  42. /**
  43. * 是否使用制表符代替空格
  44. * @default false
  45. * @type {boolean}
  46. */
  47. useTabs: false,
  48. /**
  49. * 是否在代码块结尾加上分号
  50. * @default true
  51. * @type {boolean}
  52. */
  53. semi: false,
  54. /**
  55. * 是否使用单引号替代双引号
  56. * @default false
  57. * @type {boolean}
  58. */
  59. singleQuote: true,
  60. /**
  61. * 对象属性的引号处理
  62. * @default "as-needed"
  63. * @type {"as-needed"|"consistent"|"preserve"}
  64. */
  65. quoteProps: 'as-needed',
  66. /**
  67. * jsx中是否使用单引号替代双引号
  68. * @default false
  69. * @type {boolean}
  70. */
  71. jsxSingleQuote: true,
  72. /**
  73. * 将多行 JSX 元素的 > 放在最后一行的末尾,而不是单独放在下一行
  74. * @default false
  75. * @type {boolean}
  76. */
  77. jsxBracketSameLine: true,
  78. /**
  79. * 末尾是否加上逗号
  80. * @default "es5"
  81. * @type {"es5"|"none"|"all"}
  82. */
  83. trailingComma: 'none',
  84. /**
  85. * 在对象,数组括号与文字之间加空格 "{ foo: bar }"
  86. * @default true
  87. * @type {boolean}
  88. */
  89. bracketSpacing: true,
  90. /**
  91. * 把多行HTML (HTML, JSX, Vue, Angular)元素的>放在最后一行的末尾,而不是单独放在下一行(不适用于自关闭元素)。
  92. * @default false
  93. * @type {boolean}
  94. */
  95. bracketSameLine: true,
  96. /**
  97. * 当箭头函数只有一个参数是否加括号
  98. * @default "always"
  99. * @type {"always"|"avoid"}
  100. */
  101. arrowParens: 'always',
  102. /**
  103. * 为HTML、Vue、Angular和Handlebars指定全局空格敏感性
  104. * @default "css"
  105. * @type {"css"|"strict"|"ignore"}
  106. */
  107. htmlWhitespaceSensitivity: 'ignore',
  108. /**
  109. * 文件结束符
  110. * @default "lf"
  111. * @type {"lf"|"crlf"|"cr"|"auto"}
  112. */
  113. endOfLine: 'crlf',
  114. /**
  115. * 因为使用了一些折行敏感型的渲染器(如GitHub comment)而按照markdown文本样式进行折行
  116. */
  117. proseWrap: 'never',
  118. /**
  119. * HTML\VUE\JSX每行只有单个属性
  120. * @default true
  121. * @type {boolean}
  122. */
  123. singleAttributePerLine: false,
  124. endOfLine: 'auto',
  125. ignorePath: '.prettierignore'
  126. }