ReSharper 2020.3 ヘルプ

ローカライゼーションリファクタリング

ReSharper は、プロジェクトの国際化を大幅に簡素化する一連のリソース関連のリファクタリングを提供します。

リソースに移動

プロジェクトの内部化に取り組むときは、ローカライズ可能な文字列をリソースファイルに格納するのが一般的です。ReSharper はローカライズ対象の文字列を検出してハイライトするため、そのような文字列を簡単に見つけてソースコードからリソースファイルに移動できます。ReSharper は対応するリソースエントリを宣言し、コード内の文字列をリソース使用量に置き換えます。

  1. ローカライズする文字列にキャレットを配置します。

  2. 文字列が「要素はローカライズ可能」インスペクションによってハイライトされている場合、対応するクイックフィックスを使用します ( Alt+Enter )

    ReSharper: A quick-fix to move string literal to resource

  3. それ以外の場合は、F6 を押すか、メインメニューから ReSharper | リファクタリング | 移動…を選択します。

  4. 表示されるリソースに移動ダイアログで、ReSharper はリソースエントリの名前を自動的に生成し、リソースファイルを提案します。必要に応じて、名前フィールドで名前を変更し、リソースファイルリストで他のリソースファイルを選択できます。

    ReSharper 'Move to Resource' refactoring

  5. 必要に応じて、テキスト領域のリソース文字列値を変更し、コメントテキスト領域にコメントを追加することができます。

  6. オプションで、同じ項目をリストの値を選択することにより、同一の文字列と検索範囲を検索するかどうかを指定できます。

  7. デフォルトでは、新しいリソースが作成されると、ローカライゼーションマネージャーが開いてリソースを表示します。
    この動作を無効にするには、Localization Manager に新しいリソースエントリを表示するチェックボックスをオフにします。

  8. リファクタリングを適用するには、次へをクリックします。

  9. 同じ項目をオプションを選択し、ReSharper が指定された範囲内で定義された一致する文字列を見つけた場合は、これらの文字列のどれを新しいリソースの用途に置き換えるかを選択できます。

リファクタリングを適用すると、指定された文字列が対応するリソース使用に置き換えられ、新しいリソース宣言が指定された .resx ファイルに表示されます。

新しいリソースを作成したら、他のカルチャの値を上書きできます。

リソースの移動

プロジェクトに複数のリソース .resx ファイルが含まれている場合、このリファクタリングは既存のリソースをあるリソースファイルから別のリソースファイルに移動できます。現在のプロジェクトに .resx ファイルが 1 つしかない場合、このリファクタリングは利用できません。

  1. コードファイルのリソース使用量にキャレットを設定します。

    ReSharper: Move to Resource refactoring
    または .resx ファイルのリソース名で:
    ReSharper: Move to Resource refactoring

  2. F6 を押すか、メインメニューから ReSharper | リファクタリング | 移動…を選択します。あるいは、Control+Shift+A を押して、ポップアップでコマンド名を入力して、そこで選択することもできます。

  3. 表示されるリソースの移動ダイアログで、リソースを移動したいターゲットリソースファイルを指定します。

    ReSharper: 'Move Resource' refactoring

  4. 必要に応じて、リソース名を変更できます。

  5. リファクタリングを適用するには、次へをクリックします。

リソース名の変更

名前変更リファクタリングを使用して既存のリソースの名前を素早く変更することができます。リファクタリングを適用した後、リソースファイル内のすべてのリソース宣言とコードファイル内のすべてのリソース使用箇所は、新しい名前に従って更新されます。

  1. コードファイルのリソース使用量にキャレットを設定します。

    ReSharper: Move to Resource refactoring
    または .resx ファイルのリソース名で:
    ReSharper: Move to Resource refactoring

  2. F2 を押すか、メインメニューから ReSharper | リファクタリング | 名前変更…を選択します。あるいは、Control+Shift+A を押して、ポップアップでコマンド名を入力して、そこで選択することもできます。

  3. 表示されたリソース名の変更ダイアログで、リソースの新しい名前を指定します。

  4. リファクタリングを適用するには、次へをクリックします。

インラインリソース

インラインリソースリファクタリングは、リソースの使用箇所を元の文字列に置き換え、オプションで対応するリソースエントリをリソースファイルから削除します。

  1. コードファイルのリソース使用量にキャレットを設定します。

    ReSharper: Move to Resource refactoring
    または .resx ファイルのリソース名で:
    ReSharper: Move to Resource refactoring

  2. Control+Alt+N を押すか、メインメニューから ReSharper | リファクタリング | インライン化 | インライン化…を選択します。あるいは、Control+Shift+A を押して、ポップアップでコマンド名を入力して、そこで選択することもできます。

  3. 表示されるインラインリソースダイアログで、リファクタリングオプションを指定します。

    • すべての用途をインライン : 選択すると、プロジェクト内のすべてのリソース使用量が元の文字列に置き換えられます。選択を解除すると、このリファクタリングを呼び出したリソース使用量のみが置き換えられます。このオプションは、コードファイルからリファクタリングを呼び出した場合にのみ機能します。

    • インラインリソース宣言を削除する : 選択すると、すべての関連リソースファイルからリソース宣言を削除します。選択を解除すると、宣言はそのまま残ります。

  4. リファクタリングを適用するには、次へをクリックします。

安全なリソース削除

リソースを削除する場合は、安全な削除リファクタリングを使用して削除操作が安全であることを確認します。リソースの使用箇所が見つからない場合、リソースはすぐに削除されます。それ以外の場合、ReSharper はすべてのリソース使用箇所を表示し、対応するコードを編集できます。Themed icon error screen gray アイコンでマークされた使用箇所を削除すると、コンパイルエラーが発生します。

  1. コードファイルのリソース使用量にキャレットを設定します。

    ReSharper: Move to Resource refactoring
    または .resx ファイルのリソース名で:
    ReSharper: Move to Resource refactoring

  2. Alt+Delete を押すか、メインメニューから ReSharper | リファクタリング | 安全な削除…を選択します。あるいは、Control+Shift+A を押して、ポップアップでコマンド名を入力して、そこで選択することもできます。

    • このリソースがコードファイルに使用されていない場合、リファクタリングが適用され、リソース宣言がすべての .resx ファイルから削除されます。

    • このリソースがコードファイルに使用されている場合、すべての競合を示す安全なリソース削除ダイアログが開きます。

    ReSharper: Safe Delete resource. Conflicts
  3. リソースを安全に削除しようとして競合が発生した場合は、手動で解決し、リフレッシュをクリックします。

  4. すべての競合が解決され、ダイアログから消えたら、次へをクリックしてリファクタリングを適用します。

関連ページ:

ローカライゼーションインスペクションとクイックフィックス

ReSharper は、リソースファイル内のローカライズ可能な文字列、リソースの問題などを検出することにより、アプリケーションをローカライズするのに役立つ多数のコードインスペクションを提供します。これらのインスペクションは、オープンドキュメントの設計時にローカライゼーションの問題を検出し、ソリューション全体まで特定の範囲でローカライゼーションの問題を見つけることができます。設計時には、検出された問題があなたの注意を引くためにハイライトされます。ハイライトされた問題を解決するために、ReSharp...

コードの問題のクイックフィックス

ReSharper を使用すると、設計時に検出されたほとんどのコード問題を即座に修復できます。ハイライトされたコードの問題でを押して、問題を解決したり最適以下のコードを改善したりするための適切な方法を選択するのと同じくらい簡単です。クイックフィックスを適用する:クイックフィックスは、ハイライトされたコードの問題の左側にアクションインジケーターとして視覚的に表示されます。これらのインジケーターは、コードの問題でキャレットを設定すると表示されます。次の指標は、迅速な修正を意味します。 — 重大度エ...

ローカライゼーションマネージャー

Localization Manager は、アプリケーションのローカライズを支援します。ローカライズ可能なリソースを単一のグリッドで表示および編集できるため、ローカライズ可能な文字列を追加 / 編集 / 名前変更し、不足しているローカライズされた値を見つけることができます。ローカライゼーションマネージャーを開くメインメニューからを選択します。ソリューションエクスプローラーでリソースファイルを右クリックし、ローカライゼーションマネージャーで開くを選択します。エディターでリソースの宣言または使用箇...

プロジェクト固有のプロパティを構成する

ReSharper の設定のメインセット(ReSharper | オプションダイアログで設定)は、グローバルまたはソリューションごとに適用されます。各プロジェクトまたはフォルダーごとに個別に設定できる環境設定もあります。これらの設定は、プロジェクトアイテムのプロパティポップアップで利用できます。プロジェクトアイテムのプロパティポップアップは、ソリューションエクスプローラーでプロジェクトのコンテキストメニューからプロジェクト項目のプロパティを編集するを選択して呼び出すことができます。他の ReSh...

名前変更リファクタリング

このリファクタリングにより、ソリューション内の任意のシンボルまたはプロジェクトの名前を変更できます。シンボルへの参照および使用箇所はすべて自動的に更新されます。さまざまな C# エンティティにリファクタリングを使用する:これは、このリファクタリングで名前を変更できるエンティティのリストです。名前空間名前空間のネストレベルを変更することもできます。例: 名前空間の名前をに変更できます。型名前が変更された型が同じ名前のファイルにある場合、ReSharper は含まれているファイルの名前も変更します...

安全な削除リファクタリング

他のシンボルやプロジェクト / アセンブリ参照を削除する場合は、このリファクタリングを使用して、削除後にソリューションがコンパイルされるようにします。削除されたアイテムへの参照がない場合、またはすべての参照が安全に折りたたまれている場合、アイテムはすぐに削除されます。それ以外の場合は、ReSharper は削除してはならないすべての参照を表示し、対応するコードを編集することができます。シンボルを削除した後に空のファイルが残っている場合、リファクタリングはこれらのファイルを削除することもできます。...