
如何安装并加载 Prettier 插件让 Prettier 格式化 PHP 等核心包之外支持的语言【免费下载链接】prettierPrettier is an opinionated code formatter.项目地址: https://gitcode.com/gh_mirrors/pr/prettierPrettier 核心prettier包内置了 JavaScript 及其他 Web 相关语言PHP、Pug、Ruby、XML 等语言不在其中。要让 Prettier 格式化这些语言需要安装并加载对应的插件比如 PHP 对应官方插件prettier/plugin-php官方插件列表还包括prettier/plugin-pug、prettier/plugin-ruby、prettier/plugin-xml见 docs/plugins.md。本文的任务路径是安装 Prettier 与插件包 → 用 CLI、配置文件或 API 三种方式之一加载插件 → 用--check等文档给出的方式验证加载和格式化是否生效。准备锁定版本安装 Prettier先在项目中本地安装 Prettier安装文档给出的 npm 命令如下docs/install.mdnpm install --save-dev --save-exact prettier%PRETTIER_VERSION%其中%PRETTIER_VERSION%是官方文档构建时注入的版本占位符需要替换成你要锁定的 Prettier 实际版本号。这条命令的关键点是--save-exact文档明确提醒Prettier 每个版本都可能改变格式化结果package.json里必须锁定精确版本。如果本地没安装就直接运行npx prettiernpx会临时下载最新版文档称这不是一个好主意也更慢。yarn、pnpm、bun、deno 的等价命令见 docs/install.md。安装插件包Prettier 插件是普通的 JavaScript 模块传给 Prettier 的插件字符串最终会通过import()表达式解析因此可以是模块/包名、路径或import()能接受的任意值docs/plugins.md。这意味着插件包需要先安装到项目中才能按包名被import。以 npm 为例安装命令的写法和上面 Prettier 的安装方式一致npm install --save-dev --save-exact prettier/plugin-php方式一主路径CLI 通过--plugin加载最直接的方式是在命令行上指定插件docs/plugins.mdprettier --write example.php --pluginprettier/plugin-php注意--write会原地重写覆盖目标文件。如果需要同时加载多个插件--plugin可以设置多次。方式二在配置文件中声明plugins如果你希望编辑器集成和其他工具也能感知插件可以把它写进 Prettier 配置文件。文档给出的示例是prettier.config.mjsdocs/plugins.mdimport * as prettierPluginPhp from prettier/plugin-php; /** * see https://prettier.io/docs/configuration * type {import(prettier).Config} */ const config { plugins: [prettierPluginPhp], }; export default config;配置文件按优先级解析的方式.prettierrc、prettier.config.js等见 docs/configuration.md。如果你正在本地开发一个插件也可以用相对路径加载——插件会相对当前工作目录解析plugins: [./index.js],方式三通过 API 的plugins选项以编程方式调用时通过plugins选项传入插件模块docs/plugins.mdimport * as prettierPluginPhp from prettier/plugin-php; await prettier.format(code, { parser: php, plugins: [prettierPluginPhp], });验证插件已生效文档给出了两种可核对的判断方式。用--check看格式检查结果。--check只检查文件是否已格式化、不覆盖文件适合放在 CI 中prettier . --check文档示例输出docs/cli.md全部文件已格式化时输出Checking formatting... All matched files use Prettier code style!有文件需要重新格式化时会列出文件并提示Code style issues found in ... files. Run Prettier with --write to fix此时退出码为1退出码含义0全部已格式化1存在未格式化文件2Prettier 本身出错。用getFileInfo确认插件提供的解析器。docs/api.md 说明在options.plugins(string | URL | Plugin)[]中提供插件路径可以帮助为 Prettier 核心不支持的文件推断出inferredParser。也就是说对example.php调用prettier.getFileInfo并传入 PHP 插件时返回对象的inferredParser不再是null说明该文件的语言已由插件接管。边界与限制插件对目录扫描的作用Prettier CLI 处理目录参数时基于文件扩展名和 Prettier 及其插件关联的支持语言来查找文件docs/cli.md。不加载插件时.php文件对 CLI 来说是未知文件加载后才会被目录扫描识别。缓存注意使用--cache时插件的版本和实现不参与缓存 key文档建议在更新插件后手动删除缓存docs/cli.md。旧的 Custom parser API 已在 v3.0.0 移除之前通过--parser传解析模块路径的写法需要迁移为--pluginCLI 选项或pluginsAPI 选项docs/api.md。【免费下载链接】prettierPrettier is an opinionated code formatter.项目地址: https://gitcode.com/gh_mirrors/pr/prettier创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考