2016-10-06 3 views
3

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

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

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

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

Как я могу сделать код eslint do code как js-beautify?

+3

* «Но если мой код сжат, он не будет хорошо отформатировать его в удобном для чтения формате». * - Почему ваш код сжат? Это хорошо (хорошо, даже), чтобы минимизировать ваш код для целей * развертывания *, но вы должны * писать * и * поддерживать * его в удобочитаемом формате. – nnnnnn

+1

Если вы посмотрите на список [правил ESLint] (http://eslint.org/docs/rules/), вы увидите, что только некоторые правила могут быть исправлены автоматически с помощью '--- fix'. – Frxstrem

+0

@nnnnnn, ну, я не хочу форматировать сжатый файл, проще проверить, будет ли eslint -fix форматировать их для разделения строк. используя сжатый файл для простоты тестирования –

ответ

3

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

0

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

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

+0

спасибо за ваш ответ. Я хотел бы использовать eslint в качестве форматирования кода. например если несколько операторов в одной строке, они будут отформатированы для разделения строк. если код не имеет хорошего отступов, он отлично отпечатает код. Просто хочу найти способ сказать eslint для выполнения такого форматирования в соответствии с моей конфигурацией eslint. –

Смежные вопросы