Как настроить prettier, чтобы он не переносил каждый метод на новую строку в JS?

Как настроить Prettier так, чтобы он не переносил каждый метод на отдельную строку в JavaScript? Я хочу, чтобы форматирование оставалось таким:
```javascript
let result = string.toLowerCase().split("").reduce((acum, el) => {}, {});
```
вместо
```javascript
let result = string
  .toLowerCase()
  .split("")
  .reduce((acum, el) => {}, {});
```
  • 5 февраля 2024 г. 23:29
Ответы на вопрос 2
К сожалению, настройка Prettier не предусматривает детального управления форматированием цепочек вызовов. Невозможно указать Prettier форматировать цепочки вызовов в одну строку, если результат превышает определённую длину строки. Ключевым принципом Prettier является то, что он придерживается ряда фиксированных стилей форматирования с минимальной возможностью настройки. Это преднамеренно, чтобы уменьшить количество возможных вариаций и упростить подход к совместной работе над кодом.

Однако, цепочки вызовов методов (method chaining) представляют собой исключение и их поведение можно контролировать параметром `printWidth`. Prettier будет разбивать цепочки методов на несколько строк, если число символов в строке превышает значение настройки `printWidth`. Поэтому, чтобы Prettier форматировал код более сконденсированно, можно попробовать увеличить значение параметра `printWidth`.

В вашем файле конфигурации Prettier (`.prettierrc`, `.prettierrc.js`, `package.json` и т.д.), измените значение `printWidth` на более высокое число:

```json
{
  "printWidth": 120
}
```

Выберите значение, которое соответствует вашим предпочтениям и максимальной длине строки, которую вы готовы принять. Это не гарантирует, что цепочки вызовов всегда будут оставаться в одну линию, поскольку превышение `printWidth` всё ещё приведет к переносу на новую строку.

Если вы хотите полностью уйти от автоматического переноса длинных цепочек, то Prettier не сможет вам в этом помочь, и вам придётся вручную форматировать ваш код или рассмотреть использование других инструментов, которые предоставляют больше возможностей для настройки.
Для того чтобы prettier не переносил каждый метод на новую строку в JavaScript, можно изменить значение опции "printWidth" в конфигурационном файле .prettierrc или prettier.config.js . 

Пример конфигурации:


В данном примере, я установил printWidth равным 100 символам, что позволит prettier сохранить цепочку методов на одной строке, в соответствии с вашим ожидаемым результатом.

После настройки конфигурации, выполните команду форматирования кода с использованием prettier , и цепочка методов будет отформатирована по вашим ожиданиям:


Убедитесь, что ваш конфигурационный файл .prettierrc находится в корневом каталоге вашего проекта и что вы используете актуальную версию prettier .
Похожие вопросы