Исправляем ошибку 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"
К счастью, после некоторых раскопок, я нашел решение, и я поделюсь им с вами в этом уроке.
Что вызывает эту ошибку 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 (если вы установили его по умолчанию).