Ошибка PHPCS в VS Code “End of line character is invalid”

Исправляем ошибку Visual Studio Code PHPCS “End of line character is invalid” (Конец символа строки недействителен).

Продолжая практиковаться с PHP, я решил установить несколько дополнительных расширений для Visual Studio Code.

Одним из таких расширений является PHP CodeSniffer (PHPCS), который просто отличный!

Я установил его на стандарт PSR-2 и начал подгонять код, но не смог разобраться с решением одной из ошибок:

End of line character is invalid; expected "\n" but found "\r\n"
End of line character is invalid

К счастью, после некоторых раскопок, я нашел решение, и я поделюсь им с вами в этом уроке.

Что вызывает эту ошибку PHPCS?

Насколько я понимаю, ошибка связана с операционной системой и кодами управления новой строки: LF (перевод строки) и CR (возврат каретки).

Некоторые операционные системы, такие как Windows, используют CRLF (или CR+LF), в то время как другие, такие как Linux, используют LF.

Итак, если вы используете Windows, Visual Studio Code по умолчанию установит код в CRLF, и, видимо, PHP CodeSniffer хочет, чтобы он был установлен в LF, чтобы перестал “кричать”.

Вы можете прочитать больше об этих кодах по этой ссылке.

Исправляем ‘End of line character is invalid; expected “\n” but found “\r\n”‘ ошибку в VS Code

Я покажу вам, как установить LF в VS Code для каждого файла или по умолчанию для всех новых файлов.

Установка LF по умолчанию

Шаг 1

Перейдите в File > Preferences > Settings, найдите settings.json в поле поиска, затем кликните ссылку Edit in settings.json.

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

Шаг 2

Добавьте запятую после последней строки, а затем добавьте следующий код в следующей строке:

"files.eol": "\n"

Сохраните файл.

Примечание

  • Это не относится к существующим файлам, которые уже установлены в CRLF. Это относится к вновь созданным файлам.
  • Возможно, вам понадобится перезапустить VS Code после редактирования.

Посмотрите второй метод, как изменить CRLF на LF для каждого файла.

Установка LF вручную для каждого файла

Шаг 1

Нажмите на кнопку CRLF, расположенную справа внизу в VS Code.

Кроме того, Вы можете открыть Палитру команд, нажав CTRL+SHIFT+P, добавить команду “Изменить последовательность конца строки” (Change End of Line Sequence), затем выбрать LF, как показано на втором шаге.

Шаг 2

Нажмите на LF вверху.

Вот и все!

Теперь ошибка CodeSniffer ‘End of line character is invalid; expected “\n” but found “\r\n”‘ должна исчезнуть, а создаваемые вами новые файлы должны автоматически устанавливаться в LF (если вы установили его по умолчанию).

Наверх ↑

Сергей Ермилов

Создаю веб-проекты, придумываю идеи, занимаюсь разработкой, оптимизирую и продвигаю сайты. Первые шаги в этом направлении были сделаны в 2008 году. Если у вас есть какие-то идеи или вы хотите что-то предложить, то пишите мне и моей команде.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вы можете использовать HTML теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>