ReSharper 2024.2 ヘルプ

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

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

ReSharper: Project item properties

他の ReSharper 設定と同様に、プロジェクト固有のプロパティは、[ProjectName].csproj.DotSettings(C# バージョンなどの一般的な設定を対象)と [ProjectName].csproj.DotSettings.user(ローカルパスマッピングなどの個人設定を対象)の 2 つのファイルに保存できます。必要に応じて、[ProjectName].csproj.DotSettings ファイルをソース管理下に置くことで、チームと共通の設定を共有できます。

UI からプロジェクト固有の設定を編集すると、それらは [ProjectName].csproj.DotSettings ファイルに保存されます。

名前空間プロバイダ

フォルダーでのみ使用できます。

デフォルトでは、ReSharper は、各クラスが表示される名前空間がプロジェクト内の場所と一致するとみなします。プロジェクトの「ルート」名前空間は、プロジェクトのプロパティで定義されています。

ReSharper code inspection: Namespace does not correspond to file location

上記の結果、プロジェクトレベルのすべてのコード要素が ShareX 名前空間に現れることが予想され、それ以外の場合は警告が発行されます。

名前空間は、フォルダーの導入により深くなります。以下の例では、StartupManagers という名前のフォルダーが ShareX.StartupManagers 名前空間に表示されるすべての項目を必要とします。しかし、余分な名前空間要素を追加するためにフォルダーを必要としない場合があります。そのような場合、名前空間プロバイダに設定することができます。

ReSharper: 'Namespace provider' property of a project folder

名前空間プロバイダでないフォルダーは、そのフォルダーに含まれる要素の名前空間に影響を与えません。ReSharper は、それに応じて関連コードを分析およびリファクタリングします。

追加のアセンブリ参照

プロジェクトがカスタムの方法でいくつかのアセンブリを参照している場合、ReSharper はそれらを見つけることができないため、このプロジェクトを正しく分析できない可能性があります。

このセミコロンで区切られたリストを使用して、ReSharper にそれらのアセンブリが配置されている場所を知らせ、それらのアセンブリからのシンボルを正しく解決できるようにします。

追加のコンパイル項目

プロジェクトにカスタムの方法でファイルが含まれている場合、ReSharper はそれらを見つけることができない可能性があるため、このプロジェクトを正しく分析できません。

このセミコロンで区切られたリストを使用して、ReSharper にそれらのファイルの場所を知らせ、ファイルを正しく解決できるようにします。

C# /VB 言語レベル

このセレクターを使用して言語バージョンを選択します。デフォルト値は、ReSharper がプロジェクト設定に基づいて言語バージョンを自動的に検出することを意味します。選択した言語バージョンに応じて、ReSharper のコードインスペクションはコードの問題を検出し、選択したバージョンに関連する改善を提案します。詳細については、Microsoft Docs の「C# 言語のバージョン管理」を参照してください。

ConfigureAwait 分析モード

このオプションを使用して、非同期プログラミングモデル(async/await キーワード)を使用するプロジェクトの ConfigureAwait() 呼び出しを分析します。

  • ライブラリモード — ReSharper は、ConfigureAwait(false) 呼び出しを待機可能オブジェクトに追加することを提案します。

  • UI モード — ReSharper は、ConfigureAwait(true) 呼び出しを冗長として報告します。

詳細は、ConfigureAwait 分析を参照してください。

強制コール MsBuild

このオプションを使用して、MsBuild 経由でモジュール参照を取得します。例: これは、COM API リファレンスがあり、プロジェクトが古い Visual Studio バージョンで Roslyn のサポートなしで開かれている場合に役立ちます。

カスタム pageParseFilterType の処理

このプロパティは、Web プロジェクトでのみ使用できます。

このセレクターを使用して、ReSharper が Web.configpages 要素の pageParseFilterType 属性の認識されない値をどのように処理するかを選択します。

ローカライズ可能な

この設定は、ローカライゼーションインスペクションを実行するかどうかを定義します。デフォルト値が選択されている場合、インスペクションは、プロジェクトに少なくとも 1 つのリソースファイルがある場合にのみ実行されます。はいおよびいいえ値により、このインスペクションを明示的に有効化 / 無効化できます。

ローカライズ可能なインスペクタ

ローカライズ可能なインスペクタ プロジェクトプロパティは、LocalizableAttribute でマークされたメンバーによって消費されない文字列リテラルの処理方法を定義します — 楽観的アルゴリズムはそのような文字列を無視し、悲観的それらにローカライズ可能としてフラグを立てます

プロジェクトファイルからプロジェクトモデルを読み取る

ほとんどの機能(ナビゲーションコード分析リファクタリングコード補完など)について、ReSharper は現在のソリューションのモデルを構築および維持します。モデルはキャッシュされ、ソリューション構造内の任意のアイテムに即座にアクセスするために使用されます。

デフォルトでは、ReSharper は Visual Studio とは独立してプロジェクトファイルとソリューションファイルを読み取ります。この方法は、次の理由で推奨されます。

  • Visual Studio COM API を使用しないため、UI スレッドをブロックしません。

  • 複数のフレームワークを対象とするプロジェクトのより信頼性の高いモデルをレンダリングします。

ただし、いくつかの小さな副作用があります。

  • ReSharper には、最新のプロジェクトとソリューションファイルが必要です。ファイルが編集されたが保存されていない場合、自動的に保存されます。

  • 理論的には、ReSharper がプロジェクトファイルを一時的にロックしているため、ビルド中にファイルにアクセスできませんエラーが発生する可能性は非常にまれです。この場合、もう一度ビルドを開始できます。

上記のいずれかに問題がある場合は、このオプションをに設定して、ReSharper が Visual Studio COM API を介してプロジェクト構造を読み取るようにします。これにより、少し遅くなる可能性があります。

あるいは、ReSharper オプション Alt+R, O環境 | 一般ページのプロジェクト / ソリューションファイルからソリューションモデルを直接読み取るチェックボックスを使用して、ソリューション内のすべてのプロジェクトに対してこの動作を構成することもできます。

パスマッピング

このプロパティは、Web プロジェクトでのみ使用できます。

この設定を使用すると、アプリの設計時にファイルの場所をアプリがデプロイされる場所と同期できます。詳細については、パスマッピングを参照してください。

ソリューション全体のインスペクション

この設定は、プロジェクトでソリューション全体のコードインスペクションを有効にするかどうかを定義します。オンおよびオフ値を使用すると、このインスペクションを明示的に有効 / 無効にできます。内部シンボルのみ値は、内部アクセス権を持つタイプおよびタイプメンバーに対してこのインスペクションを部分的に有効にします。

Roslyn を使ってプロジェクト参照を入手する

Visual Studio 2015 以降、ReSharper は Roslyn を介してプロジェクト参照を取得します。一部の参照が正しく解決されない場合は、このオプションを無効にして、COMAPI を介して参照を取得できます。

関連ページ:

ReSharper 設定の管理と共有

ReSharper は、階層化された設定のメカニズムを使用して環境設定を保存するため、次の利点があります。さまざまなソリューションで異なる設定を行うことができます。環境設定のさまざまなサブセットを別の場所に保存し、特定のソリューションで作業するときに環境設定を組み合わせることができます。例: 記号のアイコンとチーム設定のコード形式を個人設定で保存し、これらの設定を自動的に組み合わせることができます。設定の特定のサブセットを VCS に保持することにより、チーム内の設定を同期できます。ReShar...

ReSharper オプション

オプションダイアログは、ReSharper 構成設定の中心地です。左上隅の検索フィールドを使用して、目的の設定を見つけることができます。ターゲット C# バージョンなど、一部のプロジェクト固有のプロパティは、Visual Studio のプロパティウィンドウの ReSharper プロパティグループで構成されます。管理をクリックして、ReSharper 設定を管理および共有します。InspectCode コマンドラインツール一般...

コードインスペクションでコードの問題を見つける

ReSharper の静的コード分析はコードインスペクションと呼ばれ、サポートされているすべての言語のコードに 2300 を超える個別のコードインスペクションを適用することによって実行されます。コードの問題はいくつかの方法で見つけることができます:ReSharper は、エディターで開かれたすべてのファイルについて、設計時に自動的にコードの問題を見つけてハイライトします。デザインタイムコードインスペクションのスコープは、ソリューション全体の分析を使用してソリューション全体に拡張できます。この場合...

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

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

コードインスペクションと HTML でのクイックフィックス

メイン ReSharper のコード分析機能(コードインスペクション、コードの問題のクイックフィックスなど)も HTML でサポートされています。これらの機能の詳細については、コード解析セクションの対応するトピックを参照してください。ReSharper がどのようにインスペクションコードを適用して HTML コードを検証し、時代遅れまたは非標準の要素や属性に下線を引くかの例を示します。パスマッピング:Web アプリケーションを開発するときに、それを時々、宛先サーバーにデプロイします。ただし、宛...

ソリューション全体の分析

ソリューション全体の分析により、プロジェクトのコンパイルを妨げないものを含め、サポートされているすべての言語 C++ を除くでエラーが検出されます。プロジェクトにそのようなファイル (JavaScript、CSS、HTML など) が含まれている場合、ソリューション全体の分析は、実行時にしか検出できないエラーを見つけるのに役立ちます。ReSharper のソリューション全体の分析では、2 つの関連しているが異なる機能が実現します。ソリューション全体のエラー / 警告モニター:ReSharper 自...