На данный момент все плагины для ReSharper представляют собой стандартные NuGet пакеты. Это позволяет распространять их через официальный NuGet feed от JetBrains или публиковать их в частном закрытом NuGet сервере внутри компании.
Экспорт настроек
Для экспорта настроек и Live Templates перейдём в меню RESHARPER->Manage Options.
В данном диалоге нужно выбрать уровень (Layer) настроек, который мы хотим экспортировать.
Нажмём кнопку «Import/Export settings».
В окне «Export To File» отметим узлы «Code Style» и «LiveTemplates». Затем нужно указать директорию и имя DotSettings файла, в который будут записаны экспортируемые настройки.
Подготовка NuGet пакета
Как только настройки экспортированы, можно приступать к созданию NuGet пакета. Необходимо описать .nuspec файл. Для ReSharper 8.2 он будет выглядеть следующим образом:
<?xml version="1.0"?>
<package>
<metadata>
<id>YourCompany.Settings</id>
<version>1.0.0</version>
<title>TeamSettings</title>
<authors>Your name</authors>
<owners>Your Company</owners>
<projectUrl>http://ift.tt/1SiBJ0i;
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>
Team settings and live templates for ReSharper
</description>
<copyright>Copyright © Your Company</copyright>
<dependencies>
<dependency id="ReSharper" version="8.2" />
</dependencies>
<releaseNotes>
</releaseNotes>
<tags>settings</tags>
</metadata>
<files>
<file src="..\Settings\" target="ReSharper\v8.2\settings\" />
</files>
</package>
В случае с ReSharper 9.1 .nuspec файл будет немного отличаться. Узел Dependencies должен указывать версию «Wave», а не ReSharper:
<dependencies>
<dependency id="Wave" version="[2.0]" />
</dependencies>
Так же нужно будет изменить target:
<files>
<file src="..\Settings\"
target="DotFiles\Extensions\YourCompany.Settings\settings\" />
</files>
Где «YourCompany.Settings» это идентификатор NuGet пакета.
Теперь можно собрать пакет, выполнив команду:
nuget.exe pack nuspec-file-name.nuspec
Если мы выполнили предыдущие шаги без ошибок, то рядом с nuspec файлом будет создан пакет «YourCompany.Settings.1.0.0.nupkg».
Публикация NuGet пакета
Как упоминалось выше, ReSharper может использовать следующие источники NuGet пакетов:
- Официальный feed от JetBrains
- Любой сторонний NuGet сервер (например ProGet)
- Артефакты TeamCity
- Локальная или сетевая папка
Публикация пакета на NuGet сервере практически ничем не отличается от публикации на nuget.org.
В данной статье для простоты, в качестве NuGet feed, я буду использовать папку в файловой системе. Данная папка должна быть доступна с компьютера каждого программиста в команде. Например, это может быть общий exchange folder на сетевом диске.
Использование кастомного NuGet feed
После того, как пакет с расширением опубликован, нам нужно зарегистрировать новый источник расширений. Для этого перейдём в RESHARPER -> Options...-> Environment -> Extension Manager.
Нажмём «добавить» (Add), укажем имя в поле «Name» и путь до Артефактов, NuGet сервера или директории в поле «Source».
Установка расширения
Для установки расширения необходимо перейти в меню RESHARPER -> Extension Manager.
В поиске нужно найти наш пакет и нажать Install.
Проверим, что ReSharper обнаружил новые настройки. Откроем диалог Manage Options и убедимся, что новый слой настроек отображается на экране.
Теперь каждый член команды может использовать актуальную версию настроек. В случае изменения или обновления настроек достаточно лишь опубликовать новую версию плагина, и ReSharper автоматически найдёт обновление и проинформирует разработчика.
This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
Комментариев нет:
Отправить комментарий