prettier-plugin-classnames
Плагин Prettier, который переносит длинные имена классов в соответствии с опцией printWidth.

Установка[^1]
npm install -D prettier prettier-plugin-classnames[^1]: Если версия вашего prettier-plugin-classnames меньше 0.4.0, вам также потребуется установить @prettier/sync.
Конфигурация
Пример JSON:
{
"plugins": ["prettier-plugin-classnames"]
}Пример JS (модуль CommonJS):
module.exports = {
plugins: ['prettier-plugin-classnames'],
customAttributes: ['myClassProp'],
customFunctions: ['clsx'],
};Пример JS (ES-модуль):
export default {
plugins: ['prettier-plugin-classnames'],
endingPosition: 'absolute',
};Опции
Пользовательские атрибуты
Список атрибутов, которые охватывают имена классов.
Атрибуты class и className всегда поддерживаются, даже если опции не указаны.
По умолчанию | CLI Переопределение | API Переопределение
--- | --- | ---
[] | --custom-attributes | customAttributes: ["
Пользовательские функции
Список функций, которые охватывают имена классов.
Функция classNames всегда поддерживается, даже если опции не указаны.
По умолчанию | CLI Переопределение | API Переопределение
--- | --- | ---
[] | --custom-functions | customFunctions: ["
Позиция окончания
Впервые доступно в v0.5.0.
absolute-with-indent был добавлен в v0.6.0.
absolute-with-indent был удалён в v0.8.0, но тот же результат можно получить с помощью absolute.
Значение по умолчанию изменено с relative на absolute в v0.8.0.
Это критерий для окончания имени класса на каждой строке при замене оригинального имени класса на многострочное имя класса.
- пример для
absolute:
--------------------------------------------------| printWidth=50
export function Callout({ children }) {
return (
{children}
);
}
``- пример
relative:
`
--------------------------------------------------| printWidth=50
export function Callout({ children }) {
return (
{children}
);
}
`
По умолчанию | Переопределение в CLI | Переопределение в API
--- | --- | ---
"absolute" | --ending-position | endingPosition: ""Трансформация синтаксиса
Впервые доступно в v0.7.7.
Если перенос строки происходит в имени класса, написанном не в синтаксисе выражения, оно преобразуется в синтаксис выражения. Эта трансформация не поддерживает обратимое форматирование.
По умолчанию | Переопределение в CLI | Переопределение в API
--- | --- | ---
false | --syntax-transformation | syntaxTransformation: Корреляция версий с сопутствующими плагинами
Начиная с версии
0.6.0, при выпуске минорного обновления на одной стороне я планирую, по возможности, отражать это изменение и на другой стороне.
Совместимость с другими плагинами Prettier
Если более одного плагина Prettier может обработать текст, который вы хотите отформатировать, Prettier использует только последний из этих плагинов.
В этом случае вы можете настроить последовательное применение этих плагинов, добавив prettier-plugin-merge.
Пример JSON:
json
{
"plugins": [
"prettier-plugin-tailwindcss",
"prettier-plugin-classnames",
"prettier-plugin-merge"
]
}
``--- Tranlated By Open Ai Tx | Last indexed: 2025-09-09 ---