Как использовать eslint для форматирования моего кода javascript?

Я использую vim в качестве редактора, я использую eslint для проверки кода javascript. Раньше я использовал js-beautify для форматирования кода js. Но недавно я обнаружил, что у eslint есть опция --fix, которая может исправить проблему обычного стиля кодирования, нарушающую правила eslint.

Я также нашел этот сообщение, в котором предлагается использовать eslint для форматирование кода. Я чувствую, что это отличная идея, потому что я считаю излишним иметь и eslint, и js-beautify. Поскольку eslint уже может обнаружить все мои проблемы со стилем кодирования, почему он не может выполнить форматирование за меня?

есть также один недостаток в том, чтобы иметь как js-beautify, так и eslint, что мне нужно настроить js-beautify, чтобы он соответствовал правилам eslint. Это совершенно не нужно.

Но когда я использую eslint --fix для файла js, он делает только некоторые исправления, например: вставляет точку с запятой, добавляет пробел там, где это необходимо. Но если мой код сжат, он не будет правильно форматировать его в удобочитаемый формат.

Как я могу заставить eslint делать формат кода, как это делает js-beautify?


person Aaron Shen    schedule 06.10.2016    source источник
comment
Но если мой код сжат, он не будет правильно отформатирован в удобочитаемый формат. - Почему ваш код сжат? Можно (даже хорошо) минимизировать код для целей развертывания, но вы должны писать и поддерживать его в удобочитаемом формате. .   -  person nnnnnn    schedule 06.10.2016
comment
Если вы посмотрите на список правил ESLint, вы увидите, что исправить можно только некоторые правила. автоматически с помощью ---fix.   -  person Frxstrem    schedule 06.10.2016
comment
@nnnnnn, ну, я не имею в виду форматирование сжатого файла, просто проще проверить, отформатирует ли eslint --fix их, чтобы они красиво разделялись строками. используя сжатый файл только для простого тестирования   -  person Aaron Shen    schedule 07.10.2016


Ответы (2)


Я действительно не делал код формата eslint. Но можно использовать трюк, чтобы передать результат js-beautify в eslint --fix. Таким образом, несколько операторов в одной строке будут отформатированы js-beautify, а результат будет отправлен в eslint --fix для исправления проблем с обычным стилем, в конце концов вы получите отформатированную и исправленную версию кода.

person Aaron Shen    schedule 06.10.2016

Не все правила могут быть исправлены автоматически. Иногда человеку важно решить, как исправить проблему. Эти правила не будут фиксированными для вас.

Другие правила, такие как замыкающие запятые, могут быть безопасно исправлены автоматически и применяются с помощью --fix.

person Brad    schedule 06.10.2016
comment
спасибо за Ваш ответ. Что я хотел сделать, так это использовать eslint в качестве средства форматирования кода. например если в одной строке несколько операторов, они будут отформатированы в отдельные строки. если код не имеет хорошего отступа, он сделает отступ в коде красивым. Просто хочу найти способ сообщить eslint, чтобы он выполнял такое форматирование в соответствии с моей конфигурацией eslint. - person Aaron Shen; 06.10.2016