Обозреватель проекта#
Обозреватель проекта — это отдельное окно в интерфейсе системы для просмотра и настройки сущностей проекта. В нем отображается иерархическое дерево классов, выборок, прикладной бизнес-логики и пакетов, а также документация, которая хранится в исходном коде.
Обозреватель проекта используется, чтобы открыть нужную выборку, посмотреть состав экранной формы, перейти к настройкам атрибутов и операций, работать с воркспейсами и открыть связанные файлы проекта в IDE. Через обозреватель можно изменять часть метаданных интерфейса без изменения исходного кода: настраивать свойства атрибутов и операций выборки, выражения доступности, отображения, аудит и настройки для пакета обновления конфигурации.
Путь: Приложение «Настройка системы» > Сущности > Обозреватель проекта.
Также обозреватель проекта можно открыть из списка классов операцией Перейти в обозреватель проекта.
Через Обозреватель проекта можно, например:
Включить групповое редактирование — порядок добавления операции приведен в разделе Включение группового редактирования.
Включить универсальный фильтр — порядок настройки приведен в примере Включение универсального фильтра в разделе Редактор операций выборки.
Добавить собственную операцию — порядок настройки приведен в примере Создание JEXL-операции в разделе Редактор операций выборки.
Вывести скрытый атрибут или изменить его подпись — примеры приведены в разделе Редактор атрибутов выборки.
Связать отображение с объектом администрирования — пример приведен в разделе Настройка отображений.
Ограничить редактирование атрибута по условию — пример приведен в разделе Выражения доступности атрибутов.
Установить начальное значение фильтра при открытии выборки — пример приведен в разделе События выборки.
Добавить проверку перед сохранением объекта — пример приведен в разделе Точки расширения.
Операции обозревателя проекта#
На панели инструментов обозревателя проекта доступны операции:
Операция |
Назначение |
|---|---|
Сохранить |
Сохраняет внесенные изменения. |
Откатить |
Отменяет изменения, которые еще не были сохранены. |
Обновить |
Обновляет данные в окне обозревателя проекта. |
Редактировать |
Открывает окно редактирования выбранной сущности. Для класса в окне доступны его общие свойства, атрибуты, коллекции, характеристики, состояния и другие настройки. |
Синхронизация схемы |
Открывает операции синхронизации схемы. |
Воркспейс |
Открывает операции работы с воркспейсами. Подробнее см. в разделе Воркспейсы. |
Дополнительно |
Открывает дополнительные операции. Добавление настроек выборки описано в разделе Добавление переопределений в пакет обновления конфигурации. |
Синхронизация схемы.
В меню Синхронизация схемы доступны операции:
Синхронизировать по классу — запускает синхронизацию для выбранного класса;
Синхронизировать по модулю — запускает синхронизацию для выбранного модуля;
Корзина удаленных объектов схем — открывает выборку
Btk_DbGeneratorTrash.
Чтобы выполнить синхронизацию:
Раскройте меню Синхронизация схемы на панели инструментов.
Выберите Синхронизировать по классу или Синхронизировать по модулю.
В открывшемся окне укажите тип партиции:
Класс — генерация выполняется для одного выбранного класса;
Модуль — для всех классов выбранного модуля;
Полная — для всех классов всех модулей.
Выберите режим синхронизации:
Ленивая — ODM-файл повторно не обрабатывается, если он не изменился с предыдущей генерации;
Полная — обрабатываются все ODM-файлы выбранной области независимо от наличия изменений.
Запустите синхронизацию.
Дерево сущностей#
Дерево сущностей — это основная навигационная область обозревателя проекта. Оно расположено в левой части окна и содержит список сущностей проекта.
Список можно ограничить фильтрами по модулю, имени и наименованию. После выбора сущности в правой части окна отображается информация и настройки, доступные для выбранного типа сущности.
В дереве отображаются:
классы;
выборки, включая выборки без класса;
файлы
ApiиAvi, связанные с классами;прикладная бизнес-логика
Api;пакеты прикладной бизнес-логики
Pkg;воркспейсы.
Для классов в качестве дочерних элементов отображаются базовая выборка и Api.
Через дерево можно выбрать нужную сущность и открыть связанные с ней вкладки: Описание, Редактор атрибутов, Редактор операций, Настройка, Настройка отображений и другие. Состав вкладок зависит от типа выбранной сущности.
Дерево может отображаться в двух режимах, которые переключаются флагами на панели фильтров:
Логическая структура — каталоги для сущностей определяются по тегу
logicFolder. Если в метаданных класса, выборки или пакета указан тегlogicFolder, сущность отображается в указанном логическом каталоге. Если тег не задан, используется физический каталог. Пример значения:logicFolder = "audit.test".Физическая структура — каталоги определяются по расположению сущности внутри проекта. Например, для Scala-пакета
ru.bitec.app.btk.audit.testкаталогом будетaudit.test.
Воркспейсы#
Воркспейс — это отдельная запись в дереве сущностей обозревателя проекта. В нем сохраняется набор классов, который нужен для просмотра и анализа связей между выбранными классами.
Воркспейс используют, когда нужно собрать в одном месте классы, связанные с одной задачей, процессом или предметной областью. Например, можно создать воркспейс для группы классов по документу и его связанным сущностям.
Воркспейс не меняет структуру проекта и расположение классов в исходном коде. Он только сохраняет состав выбранных классов внутри обозревателя проекта.
Воркспейсы видны всем пользователям. После создания воркспейс отображается в дереве сущностей.
В воркспейсе можно просматривать выбранные классы в виде диаграммы связей или в иерархическом виде.
Создание воркспейса#
Воркспейс можно создать через интерфейс обозревателя проекта или зарегистрировать программно.
Уникальность воркспейса определяется парой значений: системное имя и модуль. Поэтому создать несколько воркспейсов с одинаковым системным именем можно только в разных модулях.
Создание через интерфейс. Чтобы создать воркспейс:
В поле Модуль выберите модуль, в котором нужно создать воркспейс.
Нажмите Воркспейс.
Выберите Создать воркспейс.
В открывшемся окне Воркспейс укажите уникальное имя воркспейса.
Укажите наименование воркспейса.
Нажмите Сохранить.
После создания воркспейс отображается в дереве обозревателя проекта.
Регистрация в коде. Воркспейс можно зарегистрировать программно.
Пример регистрации воркспейса в коде:
Bs_ClassDiagramWorkspaceApi().register(
spSystemName = "Test",
idpModule = Btk_ModuleApi().findByMnemoCode("rpltst"),
spFolder = "test",
spCaption = "Тест"
)
Параметры регистрации:
spSystemName— системное имя воркспейса;idpModule— идентификатор модуля, в котором создается воркспейс;spFolder— папка, в которой создается воркспейс. Если передано значениеnull, воркспейс отображается в корне модуля;spCaption— наименование воркспейса.
Внимание
Метод регистрации не изменяет папку и наименование, если воркспейс с таким системным именем и модулем уже существует.
Наполнение воркспейса#
При создании пустого воркспейса на вкладке Настройка доступны операции для первичного добавления классов.
Доступные операции:
Добавить класс — добавляет выбранный класс в воркспейс;
Удалить — удаляет выбранный класс из воркспейса;
Добавить предков — добавляет выбранные классы, которые ссылаются на выделенный класс;
Добавить всех предков — добавляет всех предков выделенного класса;
Добавить потомков — добавляет выбранные классы, на которые ссылается выделенный класс;
Добавить всех потомков — добавляет всех потомков выделенного класса;
Добавить всех предков и потомков — добавляет все ссылочные классы выделенного класса.
Перенос воркспейса#
Воркспейс можно перенести с одного проекта на другой. Для этого используются операции в меню операций с воркспейсами:
Выгрузка воркспейса — открывает окно с текстом в формате JSON. Полученный JSON можно скопировать;
Загрузка воркспейса — открывает окно, в которое нужно вставить JSON, полученный при выгрузке воркспейса.
Для удаления воркспейса используется операция Удалить воркспейс.
Настройка существующих экранных форм#
Обозреватель проекта используется не только для просмотра структуры проекта, но и для настройки состава существующих экранных форм на уровне метаданных системы. Через дерево сущностей можно открыть нужную выборку, перейти к ее отображениям и проанализировать состав полей, операций и связанных элементов интерфейса.
Удаление поля из экранной формы выполняется на уровне отображения или разметки формы. При такой настройке поле исключается из пользовательского интерфейса для соответствующей формы, но сам атрибут класса и данные в БД не удаляются. Это позволяет изменить состав экранной формы без изменения структуры хранения данных и без удаления бизнес-атрибута из модели.
Такая настройка применяется централизованно: после изменения метаданных формы поле перестает отображаться в соответствующей экранной форме для пользователей, которым доступно это отображение. При необходимости вместо удаления поля из формы можно настроить его видимость, доступность или редактируемость через свойства отображения и выражения доступности.
Чтобы убрать поле из конкретной формы, выберите связанную с формой выборку (Avi), откройте вкладку Редактор атрибутов, выберите используемое отображение и отключите свойство Видимость для требуемого атрибута. Сам атрибут класса при этом удалять не требуется.
Настройки выборки#
В обозревателе проекта можно открыть выборку и настроить ее атрибуты, операции, аудит и отображения. Настройки применяются к отображению, выбранному в фильтре.
Чтобы перейти к настройкам выборки:
Откройте обозреватель проекта.
Найдите нужную выборку с помощью фильтров Модуль, Имя или Наименование.
Раскройте класс и выберите связанную с ним выборку (
Avi).В правой части окна откройте вкладку с требуемыми настройками.
В поле Отображение выберите отображение, для которого нужно изменить настройки.
Настройка отображений#
Для отображения выборки можно задать функции получения acObject и acObjectItem:
acObject— системное имя администрируемого объекта, к которому относится выборка;acObjectItem— системное имя элемента администрирования внутри этого объекта.
Эти значения определяют контекст, в котором к отображению применяются настройки доступа, аудита и другие механизмы администрирования.
Настройка нужна, когда выборка используется в составе другого объекта и должна применять его права доступа, аудит и другие административные правила.
Подробнее о стандартной логике определения acObject и acObjectItem см. в разделе Определение связи выборки и администрируемого объекта.
Чтобы настроить получение acObject или acObjectItem:
Выберите в дереве сущностей нужную выборку (
Avi).Откройте вкладку Настройка отображений.
В таблице выберите отображение, для которого нужно изменить определение администрируемого объекта.
Установите флаг Активно переопределение acObject или Активно переопределение acObjectItem.
В нижней части окна откройте вкладку Функция получения acObject или Функция получения acObjectItem.
Укажите скрипт, который возвращает системное имя администрируемого объекта или его элемента.
Сохраните изменения.
Функция default() возвращает стандартное значение acObject или acObjectItem. Ее можно вызвать в скрипте, если стандартное значение требуется использовать только при определенных условиях. Чтобы полностью вернуться к стандартной логике, снимите соответствующий флаг активности.
Пример привязки отображения к объекту администрирования.
В примере выборка Some_CustomAvi открывается в составе документа Some_Document и использует его настройки доступа. Отображение выборки связывается с объектом администрирования документа и соответствующим элементом через acObject и acObjectItem. Системные имена в примере условные и заменяются именами существующего объекта администрирования и его элемента.
Выберите в дереве сущностей выборку
Some_CustomAvi.Откройте вкладку Настройка отображений.
Выберите отображение, в котором используется выборка, например
Card.Установите флаги Активно переопределение acObject и Активно переопределение acObjectItem.
На вкладке Функция получения acObject укажите системное имя объекта администрирования:
"Some_Document"
На вкладке Функция получения acObjectItem укажите системное имя элемента администрирования:
"Some_Document\\Some_CustomAvi"
Сохраните изменения и переоткройте форму.
После настройки система ищет права доступа и другие административные настройки по паре Some_Document и Some_Document\Some_CustomAvi. Настройка не создает объект и элемент администрирования: они должны существовать в системе.
Редактор атрибутов выборки#
Редактор атрибутов выборки расположен на вкладке Редактор атрибутов.
В редакторе можно настроить свойства атрибутов:
обязательность заполнения;
доступность только для чтения;
ширину поля;
наименование;
видимость;
порядковый номер.
У каждого свойства есть два значения настройки: стандартное значение и значение для конкретного отображения.
Поле |
Описание |
|---|---|
Def. Значение |
Стандартное значение для отображения |
Значение |
Переопределение свойства для конкретного отображения. Такая настройка действует только для выбранного отображения и не наследуется на дочерние отображения. |
Чтобы изменить свойство атрибута для конкретного отображения:
Выберите в дереве сущностей нужную выборку (
Avi).Откройте вкладку Редактор атрибутов.
В поле Отображение выберите карточку, список или другое отображение, в котором нужно изменить поле.
В таблице атрибутов выберите требуемый атрибут.
В нижней таблице свойств найдите параметр, который нужно изменить.
Укажите новое значение свойства в колонке Значение.
Сохраните изменения и переоткройте настраиваемую форму.
Пример отображения атрибута «Описание».
Если атрибут sDescription присутствует в выборке, но скрыт в карточке, его можно вывести без изменения формы в исходном коде.
Выберите в дереве сущностей нужную выборку (
Avi).Откройте вкладку Редактор атрибутов.
В поле Отображение выберите
Card.В таблице атрибутов выберите
sDescription.Для свойства Видимость включите значение в колонке Значение.
Сохраните изменения и переоткройте карточку.
После настройки поле Описание отображается в карточке.
Пример изменения подписи атрибута.
Для атрибута sDescription можно изменить подпись Описание на Дополнительное описание только в карточке.
Выберите в дереве сущностей нужную выборку (
Avi).Откройте вкладку Редактор атрибутов.
В поле Отображение выберите
Card.В таблице атрибутов выберите
sDescription.В таблице свойств выберите свойство Наименование.
В колонке Значение укажите
Дополнительное описание.Сохраните изменения и переоткройте карточку.
В карточке поле отображается с подписью Дополнительное описание. Системное имя атрибута и содержащиеся в нем данные не изменяются.
Чтобы вернуть стандартное значение свойства, выделите значение в колонке Значение и нажмите кнопку с изображением корзины на панели редактора.
Выражения доступности атрибутов#
Для атрибутов можно задать логическое выражение доступности. Это JEXL-скрипт, результат выполнения которого определяет доступность атрибута:
trueилиnull— атрибут доступен;false— атрибут недоступен.
Выражение используют, когда поле должно быть доступно для редактирования только при определенном состоянии, типе или значении объекта. Оно не скрывает поле, а управляет возможностью его изменить.
Вкладка Выражения доступности разделена на две области:
левая область — скрипт выполняется после
checkWorkability;правая область — скрипт выполняется до
checkWorkability.
В большинстве случаев используется левая область, так как такой скрипт имеет приоритет при определении доступности.
Чтобы настроить выражение доступности атрибута:
На вкладке Редактор атрибутов выберите отображение и атрибут.
Откройте вкладку Выражения доступности в нижней части редактора.
Укажите
JEXL-выражение в области, соответствующей требуемому порядку выполнения относительноcheckWorkability.Сохраните изменения и проверьте доступность поля в настроенном отображении.
Пример блокировки поля для выбранного типа объекта.
Допустим, атрибут sDescription должен оставаться доступным в карточке для всех объектов, кроме объектов типа Wf_DocRKDChangeReport.
На вкладке Редактор атрибутов выберите отображение
Card.Выберите атрибут
sDescription.Откройте вкладку Выражения доступности.
В левой области укажите выражение:
getVar("idObjectType").asNLong() != Btk_ObjectTypeApi.findByMnemoCode("Wf_DocRKDChangeReport");
Сохраните изменения и переоткройте карточку.
Для объекта типа Wf_DocRKDChangeReport выражение возвращает false, поэтому поле становится недоступным для редактирования. Для остальных типов объектов выражение возвращает true.
Редактор операций выборки#
Редактор операций выборки расположен на вкладке Редактор операций. Настройки применяются к отображению, выбранному в фильтре.
Для операций можно настроить свойства:
активность;
наименование;
порядковый номер.
Выражения доступности для операций работают так же, как выражения доступности для атрибутов.
Подробнее о свойствах JEXL-операции см. в разделе Свойства JEXL-операции.
Также можно создать операцию с помощью JEXL, задать ей иконку и порядок выполнения при нажатии. Подробнее см. в разделе Пользовательские JEXL-операции.
Чтобы изменить свойства существующей операции:
Выберите в дереве сущностей нужную выборку (
Avi).Откройте вкладку Редактор операций.
В поле Отображение выберите отображение, в котором используется операция.
Выберите операцию в таблице.
На вкладке Свойства измените активность, наименование или порядковый номер.
Сохраните изменения.
Пример включения универсального фильтра.
Чтобы включить универсальный фильтр в отображении списка:
В поле Отображение выберите
List.В таблице операций выберите операцию
uniFilter.На вкладке Свойства включите свойство Активность.
Сохраните изменения и переоткройте список.
После включения операция универсального фильтра становится доступна в выбранном отображении.
Чтобы создать проектную JEXL-операцию:
На вкладке Редактор операций выберите требуемое отображение.
Нажмите
Insertили кнопку создания на панели редактора.Укажите системное имя и наименование операции.
На вкладке Свойства настройте активность, порядковый номер, иконку и другие требуемые параметры.
Если операция должна отображаться внутри существующей кнопки или меню, укажите для нее родительскую операцию.
Откройте вкладку JEXL-скрипт и задайте выполняемую логику.
Сохраните изменения и проверьте операцию в соответствующем отображении.
Пример создания JEXL-операции.
В карточку можно добавить операцию Показать сообщение, которая выводит информационное окно и не изменяет данные.
Выберите в дереве сущностей нужную выборку (
Avi).Откройте вкладку Редактор операций.
В поле Отображение выберите
Card.Нажмите
Insertили кнопку создания операции на панели редактора.Укажите системное имя
jexl_showMessageи наименование Показать сообщение.На вкладке Свойства включите свойства Активность и Видимость операции на всех панелях.
Откройте вкладку JEXL-скрипт и укажите:
dialogs.showMessage("Операция выполнена");
Сохраните изменения и переоткройте карточку.
Операция Показать сообщение становится доступна в карточке. При ее выполнении система отображает сообщение Операция выполнена.
Для поиска операций можно использовать флаги над таблицей: Имеются расширения, Только переопределенные, Только JEXL и Искать во всех отображениях.
Чтобы настроить логическое выражение доступности операции, выберите ее в таблице, откройте вкладку Логические выражения доступности в нижней части редактора, укажите выражение и сохраните изменения. Доступность операции может одновременно зависеть от этого выражения и от настроек дискретного доступа.
События выборки#
В редакторе операций можно отображать события выборки. Событие отличается от операции тем, что запускается действием внутри выборки, например переключением вкладки, а не нажатием отдельной кнопки.
События используют для автоматической подготовки выборки: например, чтобы установить начальные параметры перед первым открытием или выполнить дополнительное действие до либо после системного события.
Чтобы перейти к событиям выборки:
Выберите нужную выборку (
Avi).Откройте вкладку Редактор операций.
Выберите требуемое отображение.
Установите флаг Отображать события над таблицей.
Выберите событие в таблице и настройте доступные для него свойства или расширения.
Чтобы вернуться к списку операций, снимите флаг Отображать события.
Пример установки фильтра при первом открытии выборки.
Для события beforeFirstOpen можно задать начальное значение параметра фильтра. Например, параметру flt_bNotActive можно передать значение 1 перед первым открытием списка.
Выберите нужную выборку (
Avi).Откройте вкладку Редактор операций.
В поле Отображение выберите
List.Установите флаг Отображать события.
Выберите событие
beforeFirstOpen.Откройте вкладку Расширения До и создайте запись расширения.
Укажите JEXL-скрипт:
setVar("flt_bNotActive", 1)
Включите расширение, сохраните изменения и переоткройте список.
При первом открытии выборки параметр flt_bNotActive получает значение 1. Пример применим к выборкам, в которых этот параметр используется в условиях фильтрации.
Добавление переопределений в пакет обновления конфигурации#
Операции используются, когда в конфигурацию нужно перенести не все настройки выборки, а только выбранные переопределения.
После добавления настройки включаются в состав конфигурации как Проектные настройки по AVI из обозревателя проекта. Формирование файла и его установка на другом контуре выполняются через Менеджер конфигураций.
Чтобы добавить в конфигурацию все проектные настройки выбранной выборки, на панели инструментов выберите Дополнительно > Добавить в конфигурацию проектные настройки выборки.
На вкладках Редактор атрибутов и Редактор операций доступны операции добавления переопределений в пакет обновления конфигурации.
Доступные операции:
Добавить в пакет обновления конфигурации — добавляет в пакет обновления конфигурации переопределения выделенных атрибутов или операций. Операция работает по мультиселекту.
Добавить все переопределения в пакет обновления конфигурации — добавляет в пакет обновления конфигурации все переопределения атрибутов или операций. Операция не зависит от того, какие записи выделены.
На вкладке Свойства доступна операция Добавить в пакет обновления конфигурации. Она добавляет в пакет обновления конфигурации только переопределение выделенного свойства. Мультиселект для этой операции не поддерживается.
Чтобы добавить выбранные переопределения в пакет обновления конфигурации:
Откройте вкладку Редактор атрибутов или Редактор операций.
Выберите отображение, настройки которого нужно перенести.
Выделите требуемые атрибуты или операции.
Вызовите операцию Добавить в пакет обновления конфигурации.
Если нужно перенести все переопределения выбранного отображения, вызовите операцию Добавить все переопределения в пакет обновления конфигурации без выделения отдельных записей. Для переноса одного свойства выберите его на вкладке Свойства и вызовите операцию Добавить в пакет обновления конфигурации.
Расширения операций#
Функциональность операций выборки можно расширить с помощью JEXL-выражений. На вкладках Расширения До и Расширения После задаются выражения, которые выполняются соответственно до или после выполнения операции.
Расширения, заданные для отображения Default, наследуются на остальные отображения. Для таких выражений активен флаг Default.
Чтобы добавить расширение операции:
На вкладке Редактор операций выберите отображение и операцию.
Откройте вкладку Расширения До или Расширения После.
Нажмите
Insertили кнопку создания в области расширений.Создайте запись расширения и укажите
JEXL-выражение.Включите расширение и сохраните изменения.
Выбор вкладки определяет, будет дополнительная логика вызвана до или после основной операции. Если расширение должно наследоваться другими отображениями, настройте его для отображения Default.
Настройки расширенного аудита#
На вкладке Настройка можно указать тип аудита для выборок и операций:
Не вести аудит;
Аудит успешных операций;
Полный аудит с сохранением ошибок.
Чтобы изменить тип аудита, выберите выборку (Avi), откройте вкладку Настройка, укажите требуемый тип аудита для выборки или операций и сохраните изменения.
Настройки Api#
Точки расширения#
Для методов Api можно настроить точки расширения. Они работают по тому же принципу, что и расширения до и после для операций выборки: позволяют выполнить дополнительную логику до или после основного метода.
Точки расширения используют для серверных проверок и обработки данных, которые должны выполняться при каждом вызове выбранного метода, независимо от того, из какой формы или процесса он был вызван.
Чтобы просмотреть методы Api и их параметры, выберите узел Api в дереве и откройте вкладку Методы. В таблице можно проверить наличие метода и посмотреть его описание.
Чтобы добавить проектную логику в точку расширения:
Выберите узел
Apiв дереве обозревателя проекта.Откройте вкладку Точки расширения.
Найдите метод по имени или описанию и выберите его в таблице.
В нижней части окна откройте вкладку Расширения До или Расширения После.
Нажмите
Insertили кнопку создания в области расширений.Создайте запись расширения и укажите дополнительную логику в редакторе Расширение методов.
Включите расширение и сохраните изменения.
Расширения можно использовать, например, для заполнения связанного атрибута при вызове сеттера или для выполнения дополнительной логики при смене состояния объекта.
Точки расширения Api выполняются в контексте серверной сессии. В их скриптах нельзя открывать формы, всплывающие окна и диалоги.
Пример проверки поля перед сохранением объекта.
Для метода FlushObject можно добавить проверку, которая запрещает сохранение объекта с незаполненным атрибутом sDescription.
Для метода FlushObject доступно расширение только до выполнения основного метода.
Выберите в дереве узел
Apiкласса, содержащего атрибутsDescription.Откройте вкладку Точки расширения.
Выберите метод
FlushObject.Откройте вкладку Расширения До.
Нажмите
Insertили кнопку создания расширения.Укажите JEXL-скрипт:
var aro = rop.copyAro();
if (aro.sDescription() == null) {
raise("Не заполнено описание!")
}
Включите расширение и сохраните изменения.
При попытке сохранить объект без описания система прекращает сохранение и выводит ошибку Не заполнено описание!. Если sDescription заполнен, стандартная логика сохранения выполняется без изменений.
Настройки классов#
Коллекции#
На вкладке Коллекции отображаются все коллекции класса. Вручную добавленные коллекции можно добавить или удалить.
Создание новых сущностей#
В обозревателе проекта реализовано создание основных сущностей:
Класс — создает
odm-файл;Выборка — создает
Avi- иAvm-файлы;Пакет — создает
Pkg- иpkg.xml-файлы;Описание каталога — создает файл
package-info.javaв указанном каталоге.
Тегирование#
Тегирование позволяет назначать сущностям теги, которые отображаются в дереве обозревателя проекта.
Настройка доступных тегов выполняется в разделе Настройка > Теги обозревателя проекта.
Для установки тегов сущности используется операция Дополнительно > Редактировать теги.
Документирование сущностей#
Для сущностей на вкладке Описание собирается документация, которая хранится в исходном коде. Документация пишется в формате Markdown.
Тип сущности |
Где хранится документация |
|---|---|
Класс |
В |
Выборка |
В |
Api |
В ScalaDoc в файле |
Pkg |
В теге |
Каталог |
В файле |
Модуль |
В файле |
Интеграция с IntelliJ IDEA#
Интеграция с IntelliJ IDEA выполняется через плагин для IDEA. Она позволяет открывать файлы, которые соответствуют записям в дереве обозревателя проекта. Для некоторых сущностей также доступны операции открытия дополнительных файлов.
Если в IDEA не открыт текущий проект, при попытке открыть файл отображается сообщение, что проект не найден.
При открытии проекта в IDEA запускается JSON-RPC-сервер. Он получает порт для прослушивания и сохраняет в структуре проекта файл .idea/ideasocket/<номер порта>.lock, блокируя этот файл.
Для открытия файла в IDE используется операция Открыть в IDE.
Тип сущности |
Открываемый файл |
|---|---|
Класс |
|
Выборка |
|
Api |
|
Pkg |
|