Как заставить Prettier отформатировать мой код с продолжением отступа?

Если мы должны следовать руководству Google по стилю JavaScript, то в соответствии с этим:

https://google.github.io/styleguide/jsguide.html#formatting-indent

при переносе длинных строк «каждая строка после первой (каждая строка продолжения) имеет отступ не менее +4 от исходной строки»

Например,

const v = 10 + 10 + 10 + 10 + ... // goes beyond line limit

Google JavaScript Style предполагает, что мы переносим строку следующим образом:

const v =
    10 + 10 + 10 + 10 + ...

См. полный пример: https://github.com/saad-learns/prettier-example/blob/main/bar.js

Но с красивее мы получаем

const v =
  10 + 10 + 10 + 10 + ...

См. полный пример: https://github.com/saad-learns/prettier-example/blob/main/foo.js

Я не могу найти способ заставить Prettier следовать стилю Google JavaScript. Неужели нет вариантов? или философия Prettier несовместима со стилем Google JavaScript?

Я почти уверен, что для этого нет вариантов. И стиль Google кажется мне непоследовательным, используя 2 пробела в одном месте и 4 (или больше) в других.

Bergi 28.11.2022 18:16

Если я правильно понял, и у вас сначала будет 2 пробела, а во-вторых и больше будет 4, я почти уверен, что по умолчанию нет возможности сделать это красивее, и я не знаю никаких расширений для этого. Большинство людей используют: github.com/airbnb/javascript с которым лучше работает.

MalwareMoon 28.11.2022 19:26

@MalwareMoon К вашему сведению, IDE, такие как IntelliJ, предоставляют эту возможность, см.: github.com/saad-learns/prettier-example/blob/main/images/…

Sa'ad 29.11.2022 10:44

@ Берги не уверен, что согласен, это непоследовательно :) . Стиль делает различие между отступом продолжения и отступом блока. if/while/function etc... вводит блок, поэтому 2 пробела, но строка продолжения не вводит блок, поэтому она имеет другой отступ.

Sa'ad 29.11.2022 10:47
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
4
161
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Итак, это было задано кем-то еще в более красивой проблеме github:

https://github.com/prettier/prettier/issues/11897

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

Другие вопросы по теме