如何自定义Prettier(JS)实现键值对冒号对齐?求替代方案
关于Prettier JSON冒号对齐及替代方案
Prettier是否支持冒号对齐格式?
不行。Prettier的设计核心是提供统一无争议的代码风格,不支持这类个性化的冒号对齐自定义配置,它会强制使用固定的键值对格式(冒号前无空格、后有一个空格),无法实现你需要的冒号对齐效果。
你的原始Prettier配置:
{ "endOfLine": "lf", "singleQuote": true, "semi": false }
目标的冒号对齐格式,Prettier无法生成。
推荐带ESLint插件的替代工具
可以使用ESLint + eslint-plugin-jsonc组合来实现需求:
eslint-plugin-jsonc是专门针对JSON/JSONC文件的ESLint插件,支持格式化和规则配置,其中jsonc/key-spacing规则可以精确控制键和冒号之间的空格,实现冒号对齐。
配置示例(在ESLint配置文件中):
module.exports = { plugins: ['jsonc'], overrides: [ { files: ['*.json'], parser: 'jsonc-eslint-parser', rules: { 'jsonc/key-spacing': [ 'error', { beforeColon: false, afterColon: true, align: 'value' // 实现冒号对齐到同一列 } ] } } ] }
配置完成后,运行ESLint的自动修复命令eslint --fix,就能将你的JSON配置转换成冒号对齐的格式。
内容的提问来源于stack exchange,提问作者mat.twg
相关产品推荐
相关产品推荐

