Какие режимы форматирования текстов модулей реализованы в 1с предприятия 8
Форматирование (выравнивание) кода 1С 8. Навигация по тексту модуля.
1. Выравнивает выделенный текст по знакам " КАК " (в тексте запроса).
3. Поиск (фильтр при наборе) по тексту модуля.
Все, догнал. Если перед первой строкой есть табуляция, то нужно выделять прям с самого начала строки вместе с ней - тогда нормально. "Плюс" конечно.Вот еще бы циклы и условия выравнивать. ;)
"Плюс" конечно.Вот еще бы циклы и условия выравнивать.
Вроде их 1С сама выравнивает.
Здорово. Еще бы и "структуру" вырвнивала бы:
ПараметрыЗаполнения = Новый Структура;
ПараметрыЗаполнения.Вставить("Дата",_______Дата);
ПараметрыЗаполнения.Вставить("Деталь",_____Деталь);
ПараметрыЗаполнения.Вставить("Количество",_Количество);
ПараметрыЗаполнения.Вставить("Автор",______глТекущийПользователь);
В работающем коде конечно место _ стоят пробелы.
IDija пишет:"Плюс" конечно.Вот еще бы циклы и условия выравнивать
А чем не нравиться Alt+Shift+F ?
+Добавить форматирование в запросы
поле________КАК
ваолоыпрлва_КАК
алвыодао____КАК
лываж_______КАК
Это - оооочень бета версия. То, что закрылась именно успешно, уже прогресс . :)
Это уже обновленная закрылась ?
(9) Из 4-х попыток выравнивания кода запроса - 4 раза вылетела по ошибке, трижды сообщила, что "Не удалось создать компонент ActiveX", один - "Программа выполнила недопустиую операцию. "(9) Из 4-х попыток выравнивания кода запроса - 4 раза вылетела по ошибке, трижды сообщила, что "Не удалось создать компонент ActiveX", один - "Программа выполнила недопустиую операцию. "
Не удалось создать компонент ActiveX - в описании сказано: "Зарегистрировать svcsvc.dll"
(11) Значит плохо читал - извиняй. :D Я все больше как-то по первой версии ориентировался. (0) Ты знаешь, зарегил я библиотеку, тока видно это действительно пока очень уж бета. При форматировании блока с равенствами из 4 попыток, отформатировала только один раз нормально и то со сдвигом первой строки на лишний пробел. В других случаях, прога делала вообще непонятно что: то удаляла блок вообще, то вытягивала его в одну строку с удалением знаков равенства. Если не трудно, положи первую версию вторым файлом - она как-то постабильнее будет. Вроде работает =) Спасибо, +! Выравнивание различных структур языка не помешало бы.Ждем более стабильную версию.
А идея очень нужная, полезная и т-д.
Вот бы еще автор подключил бы туда работу с регулярными выражениями - поиск, замену.
И пополняемый список правил, на основе этих же самых регулярных выражений,
тогда сама разработка утилиты была бы отдельно, а правила - отдельно,
и было бы удобней в том плане что стабильную версию самой обработки мог бы автор делать, сосредоточившись только на этом,
а правила выравнивания - все совместно и лучшие (или каждому кажущиеся полезные) включать к себе в файл настроек.
И с регулярными выражениями, можно еще много всяких фичь добавлять.
Ждем более стабильную версию.
А идея очень нужная, полезная и т-д.
Вот бы еще автор подключил бы туда работу с регулярными выражениями - поиск, замену.
И пополняемый список правил, на основе этих же самых регулярных выражений,
тогда сама разработка утилиты была бы отдельно, а правила - отдельно,
и было бы удобней в том плане что стабильную версию самой обработки мог бы автор делать, сосредоточившись только на этом,
а правила выравнивания - все совместно и лучшие (или каждому кажущиеся полезные) включать к себе в файл настроек.
И с регулярными выражениями, можно еще много всяких фичь добавлять.
(0) Ты знаешь, зарегил я библиотеку, тока видно это действительно пока очень уж бета. При форматировании блока с равенствами из 4 попыток, отформатировала только один раз нормально и то со сдвигом первой строки на лишний пробел. В других случаях, прога делала вообще непонятно что: то удаляла блок вообще, то вытягивала его в одну строку с удалением знаков равенства. Если не трудно, положи первую версию вторым файлом - она как-то постабильнее будет.
Можт быть проблема в паузе между сендкеями на медленных машинах. Сей прикручу настройку пауз - может быть поможет. (18) Вряд ли, у меня с машиной все в порядке. Ну давай попробуем. antonrost пишет:
Приведи парочку примеров - попробую прикрутить.
alex_4x пишет:
REGEXP Википедия smile;-)
Здесь же, на Инфостарте про regexp
Я имел ввиду примеры применения для 1С. Не КАК делать, а ЧТО делать.
Вот здесь Автор использует регулярные выражения для выделения лексем языка.
Конечная цель у него отличная от твоей, но принцип выделения лексем - одинаков.
например ты собираешь все лексемы содержащие Переменная = Значение;
Выравнивать по Началу первой лексемы, знака " clear">
alex_4x пишет:
Вот здесь Автор использует регулярные выражения для выделения лексем языка. Конечная цель у него отличная от твоей, но принцип выделения лексем - одинаков.
например ты собираешь все лексемы содержащие Переменная = Значение; Выравнивать по Началу первой лексемы, знака " clear">
Да, странное форматирование :(
Взял одну процедуру, весь ее текст прижал к левому краю, далее Альт+Ф12 и Форматировать блок.
Результат повеселил :( -
1. у комментария // появился/вставился лишний пробел / / :(
2. текст внутри строк выровнялся по знакам равно, т.е все что справа от знака равно, на одной колонке, но левая-то осталась как есть, прижатой влево :(
ИМХО в описании нужно специальным образом указать, что не происходит выравнивания операторов, аналогичного типовому форматированию, т.е. обработку нужно использовать только в дополнении к основному форматирования или для небольших блоков кода.
Вопрос - как смог получить только выделенный текст в окне 1С?
Используешь посылку символов для работы через буфер обмена или другим способом?
Поделишься? очень нужно!
Редактор текста и модуля — это один из инструментов разработки. Он используется для редактирования текстовых документов и для редактирования программных модулей конфигурации.
Редактор текстов и модулей предоставляет пользователю все основные функции, необходимые при редактировании как простых текстов, так и текстов программных модулей. Конфигуратор 1С:Предприятия 8 использует этот редактор в двух режимах:- для редактирования текстовых документов;
- для редактирования текстов модулей (как составную часть редактора формы).
Редактирование текстовых документов
В режиме редактирования текстовых документов редактор поддерживает все стандартные функции редактирования текста:- создание нового документа или открытие одного из существующих документов;
- ввод и редактирование текста;
- сохранение отредактированного текста;
- печать текста.
В процессе редактирования текста можно переходить к конкретной строке документа, сдвигать блоки текста на позицию табуляции, выполнять поиск и замену и использовать закладки. Закладки могут быть размещены на любой строке текста:
В дальнейшем быстрый переход по закладкам возможен по сочетанию клавиш или команде меню:
Редактирование текстов модулей
Редактирование текстов модулей может выполняться в процессе создания формы объекта прикладного решения, непосредственно при разработке модулей объектов или всего приложения, и при редактировании внешнего текстового файла, содержащего текст модуля.
Помимо стандартных действий, присущих любому текстовому редактору, редактор текстов и модулей имеет ряд специфических особенностей:
Выделение цветом синтаксических конструкций
Для удобства редактирования текстов модулей редактор выделяет цветом элементы встроенного языка: ключевые слова, языковые константы, операторы, комментарии и пр.:
Разработчик может использовать цвета выделения, установленные по умолчанию, или настроить их самостоятельно. В общем случае система сама отслеживает необходимость включения режима выделения цветом. Однако в ситуации, когда система «не знает» о том, что редактируется текст модуля (например, если редактируется внешний текстовый файл, содержащий текст модуля), разработчик может включить режим выделения цветом вручную, используя меню конфигуратора:
Группировка
При просмотре модулей редактор позволяет объединять некоторые синтаксические конструкции языка в группы, сворачивать и разворачивать их. Использование группировки синтаксических конструкций позволяет лучше воспринимать различные части текста, а также переносить и копировать группы целиком:
Свернутый текст замещается специальным маркером, который позволяет просмотреть содержимое свернутой группы в виде подсказки:
Разработчику предоставляется возможность настраивать режим группировки, указывая, какие синтаксические конструкции могут группироваться, и каким должно быть исходное состояние группировки (свернутая или развернутая) при открытии документа. Таким образом, он может настроить, например, использование группировок «по максимуму»:
Области
Разработчик может выделять произвольные области текста, группировать и сворачивать их подобно тому, как сворачиваются инструкции циклов, условий, процедур и функций.
Каждой области текста, которую выделяет разработчик, он может дать собственное имя. Это позволяет простым и понятным образом выделять части модуля, имеющие сходный смысл.
Области могут быть вложены друг в друга или в другие группируемые конструкции языка.
Операции с блоками
Редактор позволяет выполнять ряд операций над выделенными блоками текста модуля: автоматическое форматирование, изменение отступа, добавление/удаление комментариев и переносов строк.
Форматирование модуля
Хорошим стилем написания модулей считается использование синтаксического отступа для выделения управляющих конструкций встроенного языка. Редактор позволяет автоматически форматировать текст при его вводе, и кроме этого, выполнять автоматическое форматирование уже введенного текста.
Результат автоматического форматирования:
Увеличение/уменьшение отступа
Наряду с автоматическим форматированием всего выделенного текста, редактор поддерживает также операции сдвига выделенного блока вправо или влево на шаг табуляции.
Это облегчает ручное форматирование больших фрагментов кода.
Добавление/удаление комментариев
Также редактор содержит очень удобную для разработчика функцию автоматической (одним нажатием мыши) установки и снятия комментариев на выделенный текст. Такая возможность часто используется при отладке модулей:
Добавление/удаление переноса строки
Использование добавления и удаления переноса строки часто применяется при переносе текстов запроса между модулем и, например, консолью запросов.
Таким образом, отладив запрос в консоли запросов, разработчик может просто скопировать текст запроса из консоли, вставить его в модуль и одним движением добавить перенос строки ко всем строкам текста запроса:
Переход по процедурам и функциям
В ситуации, когда модуль содержит большое количество процедур и функций, удобно использовать режим поиска процедур, который поддерживается редактором. Процедуры и функции отображаются в отдельном окне в порядке их расположения в модуле, однако разработчик может отсортировать их по алфавиту. Пиктограммы слева от названия обозначают имеющиеся процедуры и функции, а имена в угловых скобках соответствуют предопределенным процедурам, которые в настоящий момент отсутствуют, но могут быть размещены в данном модуле.
Если установить курсор на той процедуре, которая еще отсутствует в модуле, и нажать Перейти, конструктор автоматически вставит в текст модуля заголовок предопределенной процедуры.
Переход к определению процедур и функций
Редактор позволяет автоматически переходить к определению процедуры или функции, использованной в тексте модуля. Для этого достаточно установить курсор на имени нужной функции в теле модуля и выполнить команду контекстного меню или нажать «горячую» клавишу. В окне редактора будет открыт текст искомой процедуры или функции:
Контекстная подсказка
Редактор предоставляет средство контекстного ввода выражений с использованием системных объектов, их свойств, методов и пр. В процессе ввода текста или при нажатии комбинации клавиш редактор выводит контекстный список, позволяющий выбрать нужное свойство, метод, функцию и т. д., что позволяет быстро и правильно набирать тексты модулей:
Контекстная подсказка также работает и для параметров некоторых методов, если эти параметры задаются строковыми литералами.
Копирование имен объектов и реквизитов
При написании текста модуля разработчик может просто перетаскивать мышью имена объектов или их реквизитов из дерева метаданных в нужное место модуля:
Проверка модуля
Редактируемый модуль может быть проверен на правильность использования синтаксических конструкций встроенного языка, корректность обращений к методам и свойствам объектов «через точку», а также на корректность некоторых параметров, имеющих тип «Строка»:
Кроме этого конфигуратор поддерживает выполнение полной проверки всех модулей, содержащихся в прикладном решении.
В процессе работы с модулем разработчик имеет возможность получать контекстную подсказку по встроенному языку, используя синтакс-помощник. Для этого достаточно установить курсор на интересующий элемент языка и нажатием комбинации клавиш (или по контекстному меню) перейти к описанию этого элемента языка в синтакс-помощнике.
Ограничение доступа к модулю
Для большинства модулей прикладного решения можно установить пароль доступа, защищающий авторские права разработчика конфигурации. При попытке открыть защищенный модуль выводится диалог ввода пароля:
Использование шаблонов
При редактировании текстовых документов и модулей конфигуратор предоставляет разработчику возможность использовать механизм шаблонов для автоматической подстановки часто используемых фрагментов текста.
Конфигуратор 1С:Предприятия 8 поддерживает возможность создания, сохранения и быстрой вставки часто используемых фрагментов текста, которые называются шаблонами текста .
Применение шаблонов позволяет упростить рутинный ввод кода. Кроме того, их удобно использовать, когда приходится переключаться с русского на английский язык (например, при добавлении в код директив компиляции). Можно сказать, что механизм шаблонов текста позволяет создавать собственные "конструкторы" программных модулей.
Шаблоны текста 1С:
- определены на уровне платформы (могут изменяться);
- разработчиком могут задаваться свои шаблоны.
Разработчик имеет возможность создавать новые и редактировать существующие шаблоны.
Все шаблоны хранятся в файлах (расширение .st), и разработчик может создать новый файл шаблонов или подключить существующие:
Настройка автоподстановки фрагментов текста с помощью шаблонов активируется :
- для текста - в меню "Сервис" - "Параметры" - "Тексты";
- для модулей - в меню "Сервис" - "Параметры" - "Тексты модулей" ( Модули ).
Для управления списком шаблонов разработчик может использовать специальное окно:
Открытие окна с шаблонами текста 1С:
- через пункт меню "Сервис" > "Шаблоны текста";
- с помощью горячих клавиш "Shift+Ctrl+T";
- из контекстного меню модуля (текста);
- кнопкой на панели инструментов.
Добавление (вставка) шаблона текста в код:
- перетащить нужный шаблон из окна шаблонов в код модуля, либо
- начав набирать шаблон, использовать горячие клавиши "Ctrl+Q", либо
- непосредственно вставить шаблон путем выбора его из контекстного меню модуля.
Если в имени шаблона нет никакой информации в скобках это означает, что ему не назначена строка автозамены, поэтому в код его можно добавить только перетаскиванием мышкой.
Редактирование шаблонов текста 1С
Редактирование шаблонов выполняется в специальном окне, содержащем список шаблонов и текст выбранного шаблона.
Для редактирования выбранного шаблона необходимо дважды кликнуть на нем, или выполнить команду "Изменить" в окне шаблонов:
Каждый шаблон представляет собой совокупность двух частей:
- статической (не изменяется и выводится в том виде, в котором она указана в шаблоне);
- динамической (выделяется специальными символами < >, содержание динамической части зависит от контекста использования и может изменяться).
При редактировании текстового документа или модуля, возможна быстрая вставка шаблона после того, как будет набрана последовательность символов, указанная в шаблоне.
Например, для показанного на рисунке шаблона "Процедура", можно набрать в модуле слово "Проц" и нажатием клавиш "Ctrl+Q" вызвать вставку шаблона:
Так как два шаблона имеют одинаковую последовательность заменяемых символов, следует выбрать тот шаблон, который нам нужен, и указать содержимое его динамической части:
В результате в модуль будет вставлен текст, показанный на рисунке выше.
Шаблоны текста поддерживают использование в своей динамической части:
-
; ;
- окно выбора объектовконфигурации для заполнения динамической части.
(см. папку "Прочие")
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Редактор текста и модуля - это один из инструментов разработки, который используется для редактирования:
Редактор текстов и модулей предоставляет пользователю все основные функции, необходимые при редактировании как простых текстов, так и текстов программных модулей.
Режимы редактора текста и модуля 1С:
- редактирование текстовых документов;
- редактирование текстов модулей (как составная часть редактора формы).
Редактирование текстовых документов в редакторе текста и модуля 1С
В режиме редактирования текстовых документов редактор поддерживает все стандартные функции редактирования текста:
- создание нового документа или открытие одного из существующих документов;
- ввод и редактирование текста;
- сохранение отредактированного текста;
- печать текста.
В процессе редактирования текста можно переходить к конкретной строке документа, сдвигать блоки текста на позицию табуляции, выполнять поиск и замену и использовать закладки, которые могут быть размещены на любой строке текста.
В дальнейшем быстрый переход по закладкам возможен по команде меню "Текст" или сочетанию клавиш:
Alt+F2 | установить, снять закладку с текущей строки |
F2 | перейти к следующей закладке |
Shift+F2 | перейти к предыдущей закладке |
Редактирование текстов модулей в редакторе текста и модуля 1С
Редактирование текстов модулей может выполняться:
- в процессе создания формы объектаприкладного решения;
- непосредственно при разработке модулей объектов или всего приложения;
- при редактировании внешнего текстового файла, содержащего текст модуля.
Помимо стандартных действий, присущих любому текстовому редактору, редактор текстов и модулей имеет ряд специфических особенностей.
Выделение цветом синтаксических конструкций
Для удобства редактирования текстов модулей редактор выделяет цветом элементы встроенного языка : ключевые слова, языковые константы, операторы, комментарии и пр.
Свойства и методы глобального контекста при редактировании программных модулей цветом не выделяются, так как свойства и методы глобального контекста не являются конструкциями встроенного языка.
- использовать цвета выделения, установленные по умолчанию;
- настроить цвета выделения самостоятельно.
Настроить выделение цветом синтаксических конструкций можно через пункт меню "Сервис" - "Параметры", закладка "Редактирование" на странице "Модули", группа параметров "Выделение цветом синтаксических конструкций".
В общем случае система сама отслеживает необходимость включения режима выделения цветом. Однако в ситуации, когда система "не знает" о том, что редактируется текст модуля (например, если редактируется внешний текстовый файл, содержащий текст модуля), разработчик может включить режим выделения цветом вручную, используя меню конфигуратора "Текст" (установив флаг "Встроенный язык").
Группировка синтаксических конструкций языка
При просмотре модулей редактор позволяет объединять некоторые синтаксические конструкции языка в группы, сворачивать и разворачивать их.
Группировка в модуле предназначена:
- для объединения некоторых синтаксических конструкций языка в группы, сворачивания и разворачивания их;
- для лучшего восприятия различных частей текста, а также переноса и копирования группы целиком.
Свернутый текст замещается специальным маркером, который позволяет просмотреть содержимое свернутой группы в виде подсказки.
Разработчику предоставляется возможность настраивать режим группировки (меню "Сервис" - "Параметры - Модули - Группировка"), указывая:
- какие синтаксические конструкции могут группироваться;
- каким должно быть исходное состояние группировки (свернутая или развернутая) при открытии документа.
Группировка и выделение областей текста модуля
Разработчик может выделять произвольные области текста, группировать и сворачивать их подобно тому, как сворачиваются инструкции циклов, условий, процедур и функций.
Области выделяются с помощью двух инструкций препроцессора:
Единственное назначение этих инструкций - обозначить группируемые и сворачиваемые строки модуля.
Области могут быть вложены друг в друга или в другие группируемые конструкции языка.
Каждой области текста, которую выделяет разработчик, он может дать собственное имя. Это позволяет простым и понятным образом выделять части модуля, имеющие сходный смысл.
Операции с блоками текста в модуле 1С
Редактор текста и модуля 1С позволяет выполнять ряд операций над выделенными блоками текста модуля: автоматическое форматирование, изменение отступа, добавление/удаление комментариев и переносов строк.
Указанные операции доступны через меню "Текст" - "Блок".
Форматирование текста модуля в 1С
Хорошим стилем написания модулей считается использование синтаксического отступа для выделения управляющих конструкций встроенного языка.
Форматирование в модуле предназначено:
- для удобства просмотра и редактирования модуля;
- для выделения лидирующими пробелами (табуляцией) управляющих конструкций встроенного языка системы 1C.
Редактор текста и модуля позволяет:
- автоматически форматировать:
- текст при его вводе;
- уже введенный текст;
- выполнять операции сдвига выделенного блока вправо или влево на шаг табуляции;
- автоматически (одним нажатием мыши) устанавливать и снимать комментарии для выделенного текста;
- автоматически добавить перенос строки ко всем строкам текста запроса, скопированного из консоли и вставленного в модуль.
Результат автоматического форматирования:
Добавление (удаление) переноса строки текста модуля
Использование добавления и удаления переноса строки часто применяется при переносе текстов запроса между модулем и, например, консолью запросов.
Отладив запрос в консоли запросов, разработчик может просто скопировать текст запроса из консоли, вставить его в модуль и добавить перенос строки ко всем строкам текста запроса.
Переход по процедурам и функциям модуля 1С
В ситуации, когда модуль содержит большое количество процедур и функций, удобно использовать режим поиска процедур, который поддерживается редактором. Процедуры и функции отображаются в отдельном окне в порядке их расположения в модуле, однако разработчик может отсортировать их по алфавиту.
Пиктограммы слева от названия обозначают имеющиеся процедуры и функции, а имена в угловых скобках соответствуют предопределенным процедурам, которые в настоящий момент отсутствуют, но могут быть размещены в данном модуле.
Если установить курсор на той процедуре, которая еще отсутствует в модуле, и нажать "Перейти", конструктор автоматически вставит в текст модуля заголовок предопределенной процедуры.
Переход к определению процедур и функций
Редактор позволяет автоматически переходить к определению процедуры или функции, использованной в тексте модуля. Для этого достаточно установить курсор на имени нужной функции в теле модуля и выполнить команду контекстного меню или нажать "горячую" клавишу. В окне редактора будет открыт текст искомой процедуры или функции.
Контекстная подсказка ввода выражений
Редактор предоставляет средство контекстного ввода выражений с использованием системных объектов, их свойств, методов и пр. В процессе ввода текста или при нажатии комбинации клавиш редактор выводит контекстный список, позволяющий выбрать нужное свойство, метод, функцию и т.д., что позволяет быстро и правильно набирать тексты модулей.
Контекстная подсказка также работает и для параметров некоторых методов, если эти параметры задаются строковыми литералами.
Копирование имен объектов и реквизитов перетаскиванием в текст модуля
При написании текста модуля разработчик может просто перетаскивать мышью имена объектов или их реквизитов из дерева метаданных в нужное место модуля.
Проверка модуля на правильность
Редактируемый модуль может быть проверен на правильность использования синтаксических конструкций встроенного языка, корректность обращений к методам и свойствам объектов "через точку", а также на корректность некоторых параметров, имеющих тип "Строка".
Кроме этого, конфигуратор поддерживает выполнение полной проверки всех модулей, содержащихся в прикладном решении.
В процессе работы с модулем разработчик имеет возможность получать контекстную подсказку по встроенному языку, используя синтакс-помощник. Для этого достаточно установить курсор на интересующий элемент языка и нажатием комбинации клавиш (или по контекстному меню) перейти к описанию этого элемента языка в синтакс-помощнике.
Ограничение доступа к модулю
Для большинства модулей прикладного решения можно установить пароль доступа, защищающий авторские права разработчика конфигурации. При попытке открыть защищенный модуль выводится диалог ввода пароля.
Использование шаблонов
При редактировании текстовых документов и модулей конфигуратор предоставляет разработчику возможность использовать механизм шаблонов для автоматической подстановки часто используемых фрагментов текста.
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Читайте также: