Почему не работает комбинация Shift + Tab для сдвига блока влево в 1С и как это исправить?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Особенность выделения строк при уменьшении отступа

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

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

  1. Выделим целевую строку целиком (включая символ переноса строки в конце или от самого начала до конца строки).
  2. Нажмем комбинацию клавиш Shift + Tab. Текст сдвинется влево на один шаг табуляции.

Если требуется сдвинуть сразу несколько строк, достаточно выделить фрагмент, захватывающий эти строки (даже частично, от любой позиции первой строки до любой позиции последней строки блока), и применить Shift + Tab.

Автоматическое форматирование модуля

Рассмотрим более быстрый и удобный способ привести весь модуль или выделенный фрагмент кода к правильным отступам без ручной правки каждой строки. В Конфигураторе 1С предусмотрена функция форматирования блока.

Посмотрим на алгоритм полного выравнивания кода модуля:

  1. Выделим весь текст модуля с помощью горячих клавиш Ctrl + A (или зажмем нужный фрагмент кода).
  2. Применим комбинацию клавиш Alt + Shift + F. Платформа автоматически выстроит правильные отступы для управляющих конструкций Если, Для, Пока, Процедура, Функция и других блоков.

Альтернативные способы управления отступами в 1С

Разберем дополнительные инструменты, которые помогают регулировать отступы в коде:

  1. Команды главного меню: В Конфигураторе можно воспользоваться пунктами меню Текст → Блок → Сдвинуть влево или Сдвинуть вправо.
  2. Колончатое (блочное) выделение: Если необходимо вручную удалить лишние пробелы в начале нескольких строк подряд, зажмем клавишу Alt и выделим вертикальный блок мышью (либо используем сочетание Alt + Shift + Стрелки). После этого выделенные пробелы удаляются клавишей Backspace или Delete.
  3. Работа в 1C:Enterprise Development Tools (EDT): Для среды разработки EDT стандартной комбинацией автоматического форматирования отступа выделенной строки или блока является Ctrl + I.

Настройки редактора и возможные проблемы

Проанализируем ситуации, когда сдвиг отступа работает некорректно даже при полном выделении строки:

  1. Настройки табуляции: Перейдем в меню Сервис → Параметры → Текстовый редактор (вкладка Модули). В этом окне задаются параметры Размер табуляции и флаг Заменять табуляцию пробелами. Если в коде смешаны символы табуляции и пробелы, визуальный сдвиг может казаться неполным.
  2. Работа через RDP / Удаленный рабочий стол: При удаленном подключении клавиши-модификаторы (например, Shift или Ctrl) могут залипать или передаваться с задержкой, из-за чего система считывает нажатие как обычный Tab.
  3. Сторонний софт: Глобальные утилиты переключения раскладки клавиатуры или оверлеи могут перехватывать сочетание Shift + Tab до того, как оно попадет в Конфигуратор.
← На главную