К статье
Практический материал

Разработка и Конфигурация · 8 мин

Как выровнять код в 1С 8.3: горячие клавиши и настройки форматирования

Как выровнять код в 1С 8.3 горячими клавишами: Ctrl+Shift+F, сдвиг блоков Tab и Shift+Tab, автоматические отступы в конфигураторе, настройки и типичные ошибки.

Аккуратное форматирование кода в модуле 1С — не эстетическая прихоть, а рабочий инструмент: ровные отступы по структурным скобкам «Если…КонецЕсли», «Цикл…КонецЦикла» и «Попытка…КонецПопытки» позволяют с первого взгляда видеть вложенность логики и быстро находить ошибки. В конфигураторе 1С 8.3 для этого предусмотрены встроенные горячие клавиши и автоматическое форматирование, которое работает без дополнительных плагинов.

Главное сочетание клавиш для выравнивания кода — Ctrl+Shift+F. Оно форматирует выделенный фрагмент или весь модуль целиком: расставляет отступы по уровням вложенности, выравнивает переносы строк и приводит текст к единому стилю. Команда доступна также через меню «Текст» → «Форматировать».

Ниже разобраны все способы выравнивания: автоформатирование целого модуля, ручной сдвиг блоков клавишами Tab, настройки отступов в конфигураторе и типичные ситуации, когда форматирование не срабатывает.

Форматирование всего модуля клавишами Ctrl+Shift+F

Основной способ выровнять код — встроенная команда автоформатирования. Откройте нужный модуль (модуль объекта, формы, общий модуль), установите курсор в любое место текста и нажмите Ctrl+Shift+F. Конфигуратор автоматически пройдёт по всему тексту и выставит отступы в соответствии с вложенностью управляющих конструкций.

Если требуется отформатировать только часть кода — например, одну процедуру или проблемный блок — выделите его мышью или клавишами Shift и стрелками, затем нажмите то же сочетание Ctrl+Shift+F. Форматирование применится только к выделенному фрагменту, остальной текст модуля останется без изменений.

Команда не меняет логику кода: она затрагивает только пробельные символы в начале строк и переносы. Имена переменных, строковые литералы и комментарии остаются нетронутыми, поэтому операция безопасна для работоспособности конфигурации.

Порядок действий
  1. 1
    Откройте модуль в конфигураторе 1С 8.3
  2. 2
    Выделите фрагмент кода или оставьте курсор в любом месте для форматирования всего модуля
  3. 3
    Нажмите Ctrl+Shift+F
  4. 4
    Проверьте результат: отступы должны соответствовать уровням вложенности
  5. 5
    Сохраните модуль и при необходимости обновите конфигурацию базы данных

Сдвиг блоков кода клавишами Tab и Shift+Tab

Когда нужно вручную сдвинуть одну строку или целый блок вправо или влево, используются клавиши Tab и Shift+Tab. Выделите несколько строк и нажмите Tab — весь блок сместится на один шаг табуляции вправо. Shift+Tab выполняет обратное действие — убирает один уровень отступа.

Этот приём удобен, когда автоформатирование не требуется, а нужно быстро поправить конкретное место: например, переместить строки внутрь условия или вытащить код из лишнего уровня вложенности после рефакторинга. Сдвиг работает и для одной строки без выделения — достаточно поставить курсор в начало строки.

Учтите ограничение: если курсор стоит в середине строки, Tab вставит символ табуляции в позицию курсора, а не сдвинет строку целиком. Поэтому для сдвига блоков выделяйте строки полностью или ставьте курсор в начало.

Автоматические отступы при наборе кода

Конфигуратор 1С 8.3 умеет выравнивать код уже в момент набора. Когда вы вводите закрывающее слово «КонецЕсли», «КонецЦикла» или «КонецПроцедуры» и нажимаете Enter, редактор автоматически выравнивает текущий блок по структуре. Это работает при включённой настройке автоотступа.

Проверить и включить настройку можно через меню «Сервис» → «Параметры» → вкладка «Модули» (в разных релизах платформы расположение может немного отличаться). Там же задаётся ширина табуляции и режим замены табуляции пробелами. Рекомендуемый стандарт для 1С — отступ в один символ табуляции, что соответствует стандартам разработки фирмы «1С».

Если в команде принят единый стиль, договоритесь об одинаковых настройках табуляции у всех разработчиков. Смешение пробелов и табуляции в одном модуле приводит к «плавающим» отступам при просмотре кода в других редакторах и при сравнении версий в хранилище конфигурации.

Полезные сочетания клавиш для работы с текстом модуля

Помимо форматирования, в редакторе модулей 1С есть набор сочетаний, которые ускоряют приведение кода в порядок. Их стоит использовать в связке с автоформатированием.

СочетаниеДействие
Ctrl+Shift+FФорматировать выделенный фрагмент или весь модуль
Tab / Shift+TabСдвинуть выделенные строки вправо / влево
Ctrl+Alt+FПоиск и замена в модуле
Ctrl+Shift+Num- / Num+Свернуть / развернуть блоки кода
Ctrl+/Закомментировать или раскомментировать выделенные строки
Ctrl+LУдалить текущую строку

Комбинация комментирования особенно полезна при отладке: выделенный блок мгновенно превращается в комментарий и так же быстро возвращается обратно, при этом отступы не нарушаются.

Почему форматирование может не сработать

Самая частая причина, по которой Ctrl+Shift+F не выравнивает код, — синтаксическая ошибка в модуле. Если конструкция не закрыта (не хватает «КонецЕсли» или «КонецЦикла»), редактор не может определить структуру вложенности и либо отказывается форматировать, либо выравнивает код непредсказуемо. Сначала выполните проверку синтаксиса модуля (кнопка с «галочкой» на панели инструментов), исправьте ошибки и повторите форматирование.

Вторая причина — код внутри строковых литералов и запросов. Текст запроса внутри конструкции «Текст.ТекстЗапроса» редактор воспринимает как строку и не форматирует её содержимое. Для выравнивания текста запроса используйте конструктор запроса или вручную расставляйте отступы.

Также форматирование не затрагивает участки внутри препроцессорных инструкций (#Если … #КонецЕсли) в части управляемого и обычного приложения — там отступы сохраняются такими, какими их задал разработчик, поскольку ветки могут быть взаимоисключающими.

Типичные ошибки
01
Форматирование модуля с синтаксическими ошибками — редактор не может построить структуру и выравнивает код неверно или не форматирует вовсе
02
Смешение табуляции и пробелов в одном модуле — отступы «плывут» при просмотре в других редакторах и при сравнении версий
03
Ручное выравнивание текста запроса пробелами вместо использования конструктора — при следующем редактировании запроса форматирование теряется
04
Попытка сдвинуть блок клавишей Tab с курсором в середине строки — вместо сдвига в текст вставляется символ табуляции

Как проверить результат форматирования

После применения Ctrl+Shift+F пройдитесь по модулю и убедитесь, что отступы отражают реальную логику. Каждый уровень «Если», «Для», «Пока», «Попытка» должен смещать вложенный код на один шаг вправо, а закрывающие слова — стоять на одном уровне с открывающими.

Дополнительная проверка — сворачивание блоков. Если структурные скобки сворачиваются корректно и визуально совпадают с отступами, форматирование выполнено правильно. Если блок сворачивается «не туда», значит, в коде есть логическая ошибка, которую выравнивание помогло обнаружить.

Перед сохранением изменений в хранилище конфигурации полезно сравнить модуль с предыдущей версией: так видно, что изменились только отступы, а не логика. Это особенно важно при командной разработке, чтобы не затруднять код-ревью коллег.

Контрольные точки

Как проверить результат

Отступы вложенных блоков
Норма

Код внутри Если/Цикла смещён на один уровень вправо

Тревожный признак

Строки стоят на одном уровне с открывающей конструкцией

Закрывающие слова
Норма

КонецЕсли и КонецЦикла на одном уровне с открывающими

Тревожный признак

Закрывающее слово смещено или отсутствует — ошибка синтаксиса

Синтаксическая проверка модуля
Норма

Проверка проходит без сообщений об ошибках

Тревожный признак

Есть ошибки — форматирование может быть некорректным

Частые вопросы о выравнивании кода в 1С 8.3

Можно ли выровнять код во всех модулях конфигурации сразу?

Штатной команды массового форматирования всех модулей в конфигураторе нет — Ctrl+Shift+F работает только в открытом модуле. Для пакетной обработки используют внешние инструменты и скрипты, но применять их стоит осторожно и с обязательным сравнением версий.

Изменяет ли форматирование логику работы программы?

Нет. Команда Ctrl+Shift+F меняет только пробельные символы и переносы строк, не затрагивая операторы, имена переменных и значения. Выполняемый код остаётся тем же самым.

Почему после форматирования часть кода съехала вправо?

Обычно это признак незакрытой конструкции выше по тексту: редактор считает код вложенным в блок, который не был завершён. Проверьте модуль синтаксической проверкой и найдите пропущенное «КонецЕсли» или «КонецЦикла».

Как выровнять текст запроса внутри модуля?

Автоформатирование не затрагивает текст внутри строковых литералов. Используйте конструктор запроса (правый клик по тексту запроса → «Конструктор запроса») — он приводит текст к стандартному виду, либо расставляйте отступы вручную.

Работают ли эти горячие клавиши в 1С:EDT?

В EDT, построенной на платформе Eclipse, форматирование вызывается тем же сочетанием Ctrl+Shift+F, но настройки стиля находятся в параметрах самой среды и заметно богаче: можно задать правила переноса, пробелы вокруг операторов и другие соглашения.

Итог

Что важно запомнить

Основной способ выровнять код в 1С 8.3 — сочетание Ctrl+Shift+F для всего модуля или выделенного фрагмента, а Tab и Shift+Tab — для ручного сдвига блоков. Перед форматированием убедитесь, что модуль проходит синтаксическую проверку, иначе выравнивание будет некорректным.