チームのReSharper設定の管理

今日は、開発チームのレベルでReSharper設定を一元管理できる方法についてお話したいと思います。 設定とは、フォーマッタ設定、ライブテンプレート、ReSharper設定を意味します。 これらは、いわゆるDeclarative Extensionsでエクスポートおよびパッケージ化できます。



現時点では、ReSharperのすべてのプラグインは標準のNuGetパッケージです。 これにより、JetBrainsからの公式のNuGetフィードを介してそれらを配布したり、社内のプライベートな閉じたNuGetサーバーで公開したりできます。



エクスポート設定



設定とライブテンプレートをエクスポートするには、メニューの[再構築]-> [オプションの管理]に移動します。



オプションを管理する



このダイアログでは、エクスポートする設定のレベル(レイヤー)を選択する必要があります。



「設定のインポート/エクスポート」ボタンをクリックします。



エクスポート設定とテンプレート



「ファイルにエクスポート」ウィンドウで、「コードスタイル」ノードと「LiveTemplates」ノードを選択します。 次に、エクスポートされた設定が書き込まれるDotSettingsファイルのディレクトリと名前を指定する必要があります。



NuGetパッケージの準備



設定がエクスポートされると、NuGetパッケージの作成を開始できます。 .nu​​specファイルを記述する必要があります。 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://your-company.com</projectUrl> <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ノードは、ReSharperではなく、Waveのバージョンを示す必要があります。



 <dependencies> <dependency id="Wave" version="[2.0]" /> </dependencies>
      
      







また、ターゲットを変更する必要があります。



 <files> <file src="..\Settings\" target="DotFiles\Extensions\YourCompany.Settings\settings\" /> </files>
      
      







「YourCompany.Settings」はNuGetパッケージの識別子です。



これで、コマンドを実行してパッケージをビルドできます。



 nuget.exe pack nuspec-file-name.nuspec
      
      







エラーなしで前の手順に従った場合、パッケージ「YourCompany.Settings.1.0.0.nupkg」がnuspecファイルの横に作成されます。



NuGetパッケージの公開



前述のように、ReSharperは次のNuGetパッケージのソースを使用できます。



NuGetサーバーでパッケージを公開することは、nuget.orgで公開することと実質的に変わりません。



この記事では、簡単にするために、NuGetフィードとして、ファイルシステム内のフォルダーを使用します。 このフォルダーは、チーム内の各プログラマーのコンピューターからアクセスできる必要があります。 たとえば、ネットワークドライブ上の共有交換フォルダーなどです。



カスタムNuGetフィードの使用



拡張機能付きパッケージが公開された後、拡張機能の新しいソースを登録する必要があります。 これを行うには、RESHARPER->オプション...->環境-> Extension Managerに移動します。



オプション-環境ダイアログ



[追加]をクリックし、[名前]フィールドに名前を指定し、[ソース]フィールドにアーティファクト、NuGetサーバーまたはディレクトリへのパスを指定します。



カスタムギャラリーを追加



拡張機能をインストールする



拡張機能をインストールするには、メニューRESHARPER-> Extension Managerに移動します。



検索では、パッケージを見つけて[インストール]をクリックする必要があります。



カスタムプラグインをインストールする



ReSharperが新しい設定を検出したことを確認してください。 [オプションの管理]ダイアログを開き、新しい設定レイヤーが画面に表示されていることを確認します。



新しい設定レイヤー



これで、チームの各メンバーは現在のバージョンの設定を使用できます。 設定を変更または更新する場合、プラグインの新しいバージョンを公開するだけで、ReSharperは自動的に更新を見つけて開発者に通知します。



All Articles