Для создания окон в стиле оформления ModPlus используйте nuget-пакет ModPlusStyle.
Не забудьте в файле проекта (.csproj) для пакета задать свойство
<ExcludeAssets>runtime</ExcludeAssets>
согласно инструкции.
Большинство примеров использования библиотеки оформления показано в демо-проекте Core_ModPlusStyle_Demo.
Все плагины должны придерживаться единой стилистики написания кода.
Для поддержания стилистики используется статический анализатор кода – StyleCop.Analyzer.
Подключите статический анализатор StyleCop.Analyzer ко всем проектам в решении, используя менеджер NuGet-пакетов.
Скачайте файл с правилами для статического анализатора ModPlus.ruleset и разместите его в корне решения.
С помощью текстового редактора (или любого другого редактора) откройте файлы проектов (.csproj) решения и добавьте в них следующее:
<PropertyGroup>
<CodeAnalysisRuleSet>$(SolutionDir)\ModPlus.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
Локализация плагинов выполняется с помощью xml-файлов, заполняемых по определенным правилам.
Для выполнения локализации клонируйте репозиторий Core_LanguageFiles и создайте новую ветку. Создание ветки требуется для последующего создания Pull Request.
В проекте LanguageFiles расположены файлы локализации (en-US.xml, ru-RU.xml и т.д.). При локализации плагинов необходимо вносить изменения во все файла локализации.
После внесения изменений в файлы локализации проекта LanguageFiles скопируйте эти файлы в папку /ModPlus/Languages установленной версии ModPlus. После этого вы можете протестировать результат локализации.
Каждый файл содержит корневой элемент ModPlus (его редактировать не надо!) и вложенные элементы. Каждый вложенный элемент относится к отдельному компоненту ModPlus, включая плагины.
Подробнее: Локализация
Основные библиотеки, обязательные для создания плагинов в ModPlus, выпущены в виде nuget-пакетов.
- ModPlusAPI.dll – основная библиотека вспомогательных методов ModPlus. Nuget
- ModPlusStyle.dll – библиотека оформления. Nuget
Вы также можете подключить эти библиотеки из папки /ModPlus/Extensions.
Библиотеки продуктов Autodesk:
Мы создали nuget-пакеты с минимальным обязательным набором библиотек Autodesk, необходимых для написания плагинов ModPlus:
- ModPlus.AutoCAD.API: 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021
- ModPlus.Revit.API: 2017, 2018, 2019, 2020, 2021
При установке пакета выбирайте версию, соответствующую версии продукта Autodesk.
Библиотеки сторонних разработчиков:
Перечисленные библиотеки рекомендуется подключать из папки /ModPlus/Extensions.
Следующие библиотеки подключаются вместе с пакетом ModPlusAPI:
При необходимости использования библиотек, отсутствующих в списке, следует предварительно сообщить автору ModPlus.
Для всех библиотек, перечисленных в данной статье, обязательно нужно установить свойство Copy Local = false!
Чтобы установить значение Copy Local = false при переводе nuget-пакетов в формат PackageReference нужно открыть файл проект (.csproj) в текстовом редакторе и для ссылок на пакеты добавить свойство <ExcludeAssets>runtime</ExcludeAssets>.
Например:
<PackageReference Include="ModPlus.AutoCAD.API.2020">
<Version>1.0.0</Version>
<ExcludeAssets>runtime</ExcludeAssets>
</PackageReference>
<PackageReference Include="ModPlus.AutoCAD.Module.2020">
<Version>4.2.9.1</Version>
<ExcludeAssets>runtime</ExcludeAssets>
</PackageReference>
<PackageReference Include="ModPlus.ProductDatabase">
<Version>2.2.0.11</Version>
<ExcludeAssets>runtime</ExcludeAssets>
</PackageReference>
<PackageReference Include="ModPlusAPI">
<Version>1.3.0</Version>
<ExcludeAssets>runtime</ExcludeAssets>
</PackageReference>
После добавления этого свойства рекомендуется удалить папку obj в корне проекта и пересобрать решение