Редакторы и инструменты
Здесь будет встроен видео-разбор темы (5–7 минут, YouTube / RuTube / VK Видео) — тем, кто лучше воспринимает на слух, текст ниже не обязателен.
Половина удовольствия от программирования — удобный инструмент. Соберём рабочее место: редактор, два расширения, шрифт и тема — и код станет писаться заметно легче.
Писать JavaScript можно хоть в «Блокноте» — языку всё равно. Но хороший редактор подсвечивает синтаксис, подсказывает имена переменных, ловит опечатки на лету и запускает код, не выходя из окна. Разница — как между бумажной салфеткой и нормальным рабочим столом.
Выбор по умолчанию — VS Code: бесплатный, быстрый, с огромным каталогом расширений почти под любую задачу. Скачайте его с официального сайта code.visualstudio.com — установка занимает пару минут.
Главная альтернатива — WebStorm от JetBrains. Это комбайн: всё, что в VS Code ставится расширениями, здесь работает из коробки. Для коммерческой работы он платный, но для личных проектов JetBrains раздаёт лицензию бесплатно. Если сомневаетесь — начните с VS Code: с ним вы точно ничего не потеряете.
Попробовать код можно прямо в браузере: CodePen, JSFiddle или StackBlitz дают редактор и мгновенный результат без единой установки. Для маленьких экспериментов этого хватит с головой, но настоящий проект всё равно потребует редактора на вашем компьютере — так что поставить VS Code стоит уже сейчас.
Расширения — суперсила VS Code, и два из них нужны каждому: Prettier и ESLint. Ставятся в один клик: иконка с квадратиками на левой панели, поиск по имени, кнопка «Install».
Prettier — форматировщик. Он не проверяет, работает ли код, — он делает его опрятным: выравнивает отступы, расставляет пробелы, следит за кавычками и длиной строк. Взгляните на код, написанный второпях:
Код рабочий, но читать его неприятно. Prettier одним движением превращает такую кашу в аккуратные строки — и так с каждым файлом, всегда по одним и тем же правилам. О форматировании можно просто перестать думать.
ESLint — анализатор. Он читает код и подчёркивает подозрительные места: переменная объявлена, но не используется; функция ничего не возвращает, хотя должна; условие всегда истинно. Это не запуск программы, а вычитка текста редактором — многие ошибки ESLint находит раньше, чем вы нажмёте «выполнить».
Prettier — про внешний вид, ESLint — про смысл
Настройки открываются сочетанием Ctrl+, (на Mac — Cmd+,). Их сотни, но на старте хватает двух-трёх. Самая полезная — форматирование при сохранении: нажали Ctrl+S — и Prettier сам причесал файл.
| Настройка | Значение | Что даёт |
|---|---|---|
editor.formatOnSave | true | Prettier причёсывает файл при каждом сохранении |
editor.defaultFormatter | esbenp.prettier-vscode | Форматером по умолчанию назначен именно Prettier |
files.autoSave | afterDelay | Файлы сохраняются сами — забытый Ctrl+S больше не страшен |
Автосохранение — вопрос вкуса: с files.autoSave файл записывается сам через секунду после правки. Все настройки хранятся и в графическом виде, и в файле settings.json — второй вариант удобно копировать на другой компьютер целиком.
Ctrl+P — мгновенный переход к файлу по имени; Ctrl+/ — закомментировать строку; Alt+↑ и Alt+↓ — передвинуть строку вверх или вниз.
Ctrl+D — выделить следующее такое же слово (удобно для переименований); Shift+Alt+F — отформатировать файл вручную, если автоформат ещё не включён. На Mac вместо Ctrl почти везде Cmd.
В коде полно сочетаний, которых нет в обычном тексте: ===, =>, !==. Программистские шрифты умеют лигатуры — несколько символов рисуются одним цельным знаком: три чёрточки равенства сливаются в одну широкую, а => превращается в настоящую стрелку.
Популярная тройка: Fira Code — бесплатный и самый известный; JetBrains Mono — тоже бесплатный, родной шрифт WebStorm; Victor Mono — с узнаваемым курсивом, похожим на рукописный. Шрифт устанавливается в систему как обычный, а затем прописывается в настройках: editor.fontFamily — имя шрифта, editor.fontLigatures — true.
Важно: лигатура — только картинка. В файле по-прежнему лежат три отдельных символа, и JavaScript видит именно их; меняется лишь то, как шрифт их рисует. Вот код, где лигатурам есть где развернуться:
Тема меняет цвета всего редактора: фон, подсветку синтаксиса, панели. Несколько встроено сразу — тёмные и светлые, — а в каталоге расширений их тысячи. Быстрый переключатель — Ctrl+K Ctrl+T: листайте список стрелками и смотрите, как редактор перекрашивается на лету.
Выбор темы — чистая вкусовщина, и это нормально: на этот экран вы будете смотреть часами, пусть он радует. Кому-то нужен строгий тёмный минимализм, а кто-то ставит Synthwave x Fluoromachine — неоновую тему в эстетике восьмидесятых, где код светится розовым и бирюзовым, как вывеска в ночном городе. Единственный практический критерий — контраст: если глаза устают за полчаса, тема не ваша, какой бы красивой она ни была.
- VS Code — бесплатный редактор по умолчанию для JavaScript; WebStorm — мощная альтернатива, где всё работает из коробки.
- Два обязательных расширения: Prettier форматирует код, ESLint находит подозрительные места ещё до запуска.
- Настройка
editor.formatOnSave: trueпричёсывает файл при каждом сохранении — о форматировании можно не думать. - Шрифты с лигатурами — Fira Code, JetBrains Mono, Victor Mono — рисуют
===и=>цельными знаками; в файле при этом ничего не меняется. - Тема — дело вкуса: от строгих встроенных до неоновой Synthwave x Fluoromachine. Главный критерий — чтобы глаза не уставали.
1/3За что отвечает расширение Prettier?
2/3Какая настройка включает форматирование при каждом сохранении файла?
3/3Шрифт с лигатурами показывает === одним знаком. Что при этом лежит в файле?
Формат при сохранении
Установите расширение Prettier и включите форматирование при сохранении. Затем вставьте в файл этот нарочно скомканный код и нажмите Ctrl+S — он должен выровняться сам:
В настройках (Ctrl+,) найдите «Format On Save» и включите галочку, а в editor.defaultFormatter выберите Prettier. После сохранения код развернётся в аккуратные строки; если этого не произошло — проверьте, что файл сохранён с расширением .js.
Включи лигатуры
Установите шрифт Fira Code и настройте редактор так, чтобы === и => отображались едиными знаками. Проверьте на примере из раздела про лигатуры.
Скачайте Fira Code со страницы проекта на GitHub и установите как обычный шрифт. Затем в settings.json добавьте "editor.fontFamily": "Fira Code" и "editor.fontLigatures": true — стрелки и равенства сольются, хотя в файле останутся прежние символы.