2013-12-18 10 views
9

私はちょうどReSharperの8.1.23.546にアップグレードし、それが私たちのチームの設定ファイルに新しいキーを追加しました:これは何であり、なぜそれがチームの設定ファイルに追加しましたReSharperのチーム設定ファイル内IsMigrationApplied要素は何ですか?

<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateBlankLinesAroundFieldToBlankLinesAroundProperty/@EntryIndexedValue">True</s:Boolean> 

を?これがバージョンコントロールに保存されていて、まだこのバージョンにアップグレードされていない場合、他の開発者に問題が発生しますか?

答えて

7

これは、ReSharperのは、次の1つのバージョンから変更されているいくつかの設定を移行しており、再度移行を実行しないために使用されていることの指標です。この場合

、ReSharperの8.0導入、いくつかの新しいフォーマットオプション - プロパティ/自動プロパティの周りの空白行の数、および単一ラインプロパティ/自動プロパティの周りの空白行の数。私は確かに分かりませんが、物事を見て、ReSharper 7がプロパティの書式設定時にフィールドの周りの行数を使用したと仮定するのは妥当です。

あなたが新鮮なインストールを持っていれば、これらの新しいオプションを導入することは大したことではない - すべてがデフォルトになりますし、何も設定ファイルに書き込まれませんれます。以前フィールドの周りの空白行の数をカスタマイズした場合、フォーマッタはかなり古い、カスタマイズされた値よりも、新しいデフォルトのオプションを使用しますので、しかし、その後、これらの新しいオプションを導入することは、既存の動作を変更します。そのため、マイグレータは実行され、フィールドの周りの行数がデフォルト以外のものかどうかを確認します。そうであれば、プロパティの周りの行数を編集したかどうかを確認します。それでもデフォルトに設定されている場合は、(デフォルト)値がフィールドの周りの行数と同じに上書きされます。以前に使用されたフィールド値を移行してプロパティのデフォルト値を上書きします。その後、他のあなたがフィールドのプロパティと、デフォルト以外の書式のデフォルトのフォーマットを持つことができることは決してないだろう、移行ツールを再度実行していないことを確認するために、移行インジケーターを追加します。

チーム設定の理由はカスタマイズされたフィールド値がチーム設定ファイルにも含まれているからです。このファイルは共有されているため、値を一度移行するだけで済みます。そのため、インジケータも共有ファイルに含める必要があります。これをチームと共有することには危険はない。

関連する問題