При написании кода в среде 1С разработчики часто сталкиваются с необходимостью визуального упорядочивания листингов. Одним из наиболее популярных эстетических приемов является вертикальное выравнивание знаков равенства в блоках инициализации переменных или заполнения структур. Читать такой код гораздо приятнее, ведь структура присвоений становится наглядной.
Давайте сравним два варианта написания одного и того же участка кода. В первом случае автовыравнивание не использовалось:
Переменная1 = Истина;
ОченьДлиннаяПеременная = Истина;
К = Ложь;
ДополнительныйПараметрСвязи = "Значение";
А теперь посмотрим на тот же блок кода, но с выравниванием по знаку равенства:
Переменная1 = Истина;
ОченьДлиннаяПеременная = Истина;
К = Ложь;
ДополнительныйПараметрСвязи = "Значение";
Второй вариант выглядит более структурированным, однако вручную расставлять пробелы — крайне неэффективное занятие, отнимающее много времени. В этой статье мы подробно разберем, как автоматизировать этот процесс с помощью современных инструментов разработчика 1С, а также проанализируем, стоит ли использовать этот подход в командной разработке.
Одним из самых быстрых и популярных способов форматирования текста непосредственно в стандартном Конфигураторе 1С является использование утилиты TurboConf. Это специальная программа, которая расширяет возможности конфигуратора, добавляя в него множество полезных макросов, скриптов и горячих клавиш.
Для выравнивания текста в TurboConf предусмотрен штатный скрипт TextAlign (Выравнивание текста). Разберем пошагово, как им пользоваться:
TurboConf на своем рабочем компьютере.TextAlign (по умолчанию это сочетание можно задать или посмотреть в настройках TurboConf, обычно используется сочетание клавиш быстрого форматирования).= во всех выделенных строках.Этот способ удобен тем, что он работает прямо внутри «родного» Конфигуратора 1С и не требует переноса кода в сторонние редакторы.
Современная разработка на платформе 1С все чаще выходит за рамки стандартного Конфигуратора. Многие программисты используют Visual Studio Code или среду 1С:EDT для написания модулей. В этих средах возможности форматирования практически безграничны благодаря экосистеме расширений.
Если мы пишем код 1С в VS Code, у нас есть два пути для автоматического выравнивания:
1. Использование специализированных плагинов выравнивания текста
Для VS Code существует замечательное и очень легкое расширение под названием Better Align (или его аналог Regex Align). Эти плагины не привязаны к конкретному языку программирования и выравнивают любой выделенный текст по заданному символу. Разберем алгоритм работы с ними:
VS Code, перейдите во вкладку расширений (сочетание клавиш Ctrl+Shift+X).Better Align.Ctrl+Shift+P) и введите команду Align (или воспользуйтесь настроенным сочетанием клавиш, например, Alt+A).2. Использование BSL Language Server (BSL LS)
Если вы профессионально разрабатываете на 1С в альтернативных средах, у вас наверняка установлен инструмент статического анализа и форматирования BSL Language Server. В настройках форматтера BSL LS (конфигурационный файл в формате JSON) можно задать глобальные правила оформления кода для всего проекта. Это позволяет автоматически приводить весь код к единому стилю (включая расстановку пробелов вокруг операторов и каноническое написание ключевых слов) при каждом сохранении файла. Для этого также можно использовать инструмент для анализа и форматирования модулей.
Если вы по каким-то причинам не хотите устанавливать коммерческий TurboConf или полноценную среду VS Code, но вам периодически требуется выравнивать большие блоки кода в Конфигураторе, можно воспользоваться скриптами автоматизации на базе AutoHotkey (AHK) или OneScript.
Существуют открытые проекты (например, SmartConfigurator или консольные утилиты вроде ones-formatting), которые умеют перехватывать текст из буфера обмена, форматировать его по заданным правилам и возвращать обратно. Процесс выглядит следующим образом:
Ctrl+C).= в один ряд.Ctrl+V).Этот способ бесплатный и достаточно гибкий, однако требует первоначальной настройки стороннего ПО (например, интерпретатора AutoHotkey).
Несмотря на то, что выровненный код выглядит очень эстетично, в среде профессиональных разработчиков 1С ведутся серьезные споры о целесообразности применения этой практики. Давайте детально проанализируем аргументы обеих сторон, чтобы вы могли принять взвешенное решение для своей команды.
Плюсы выравнивания кода по знаку равенства:
Минусы и скрытые проблемы выравнивания (почему стандарты 1С это не рекомендуют):
git blame) будет крайне сложно понять, кто и зачем реально менял эти строки, так как они будут замусорены техническими пробелами.Мы рекомендуем придерживаться золотой середины:
TurboConf или плагинов VS Code значительно упростит вам жизнь и сделает код визуально приятным.Git, лучше отказаться от тотального выравнивания по знаку равенства. Соблюдайте официальные стандарты разработки фирмы 1С (АПК), пишите понятные имена переменных средней длины и используйте стандартное автоматическое форматирование кода (сочетание клавиш Alt+Shift+F в Конфигураторе), которое просто расставляет правильные пробелы вокруг операторов, не пытаясь выровнять их по вертикали.