Редактор кода: клавиши, поле номеров, подсветка и автодополнение

Редактор на странице скриптов — это прозрачное текстовое поле поверх синхронизированного поля номеров и цветного слоя. Он добавляет номера строк, клавиши отступа, синтаксические цвета и список автодополнения API, не притягивая библиотеку редактора.

Senzoukria · Документация · Обновлено: сентябрь 2026


Где найти

Где
Страница скриптов → центральная область редактирования
Единица отступа
Два пробела — как в примерах скриптов и в выводе ассистента
Проверка орфографии
Выключена
Источник автодополнения
lib.* в JavaScript, of.* в Python — какой список предложить, решает язык
Доступное имя
«Исходный код скрипта»

Что он делает

Обычное текстовое поле теряет Tab на переход фокуса, не показывает номеров строк и не даёт горячих клавиш — трёх вещей, которые становятся важны, как только вы пишете настоящий скрипт. Этот редактор сохраняет родное поведение браузера при вводе (выделение, отмена, IME, доступность) и добавляет вокруг недостающее: поле номеров, прокручивающееся вместе с текстом, цветной слой под ним и список автодополнения.

Поле номеров помечает строку курсора, а строка, о которой сообщил неудачный прогон, подсвечивается красным, поэтому «Строка 23» из консоли указывает на то, что видно глазами.

Клавиши

Клавиши, которые обрабатывает редактор
КлавишаПо умолчаниюНа что влияет
Tabвставить два пробелаПри выделении нескольких строк вместо этого сдвигает весь блок.
Shift+TabУбирает один уровень отступа у строки или выделенного блока.
Enterсохранить отступСохраняет отступ текущей строки и добавляет уровень после строки, открывающей блок.
Ctrl/Cmd+SСохраняет скрипт.
Ctrl/Cmd+EnterЗапускает скрипт на тестовых данных.
Стрелки вверх / внизПеремещают по списку автодополнения, пока он открыт.
Enter или Tab (список открыт)Принимает подсвеченное дополнение, заменяя набранный префикс.
EscapeЗакрывает список автодополнения без вставки.

Подсветка и автодополнение

  • Токенизатор идёт одним проходом, символ за символом, и выдаёт классы CSS, а не цвета, поэтому палитра живёт вместе с дизайн-токенами продукта и следует теме.
  • Наборы ключевых слов свои у каждого языка: у JavaScript, Python и C++ они разные.
  • Список автодополнения предлагает расчётные помощники, общие для обоих языков, — sma, ema, wilder, stdev, highest, lowest, rsi и atr, — плюс построители выходов объявленного языка.
  • Построители выходов JavaScript: line, histogram, markers, levels, table и panel. В Python те же шесть плюс bands, одиночные marker() и level(), и первым аргументом берётся время, а не бары.
  • Каждое дополнение переписано с кода, который его реализует, а не по памяти: неверное дополнение учило бы несуществующему API.

Ограничения и подводные камни

  • Прокрутка намеренно закрывает список автодополнения — абсолютно позиционированный список иначе указывал бы на другую строку кода.
  • Ни сворачивания блоков, ни мультикурсора, ни языкового сервера: это намеренно маленький редактор, и он не добавляет веса сборке.
  • Цветной слой и текстовое поле обязаны иметь одинаковые метрики. Если переопределить шрифты или межбуквенные интервалы в своей теме, цвета могут уехать относительно набранного текста.

Эта страница на других языках

Частые вопросы

Почему автодополнение предлагает of.* в одном скрипте и lib.* в другом?
Список следует объявленному языку скрипта. Скрипты на JavaScript строят выходы через lib, на Python — через of, и предложить оба значило бы учить половине API, которой нет в редактируемом файле.
Можно ли использовать отступ в четыре пробела?
Набрать можно, но Tab вставляет два пробела — именно столько дают примеры скриптов и ассистент. Смешение двух вариантов в одном файле Python — обычный источник ошибки отступа.
Проверяет ли редактор код по мере ввода?
Нет. Проверка происходит при запуске: прогон сообщает строку с ошибкой, и затем эта строка подсвечивается в поле номеров.