ReSharper 2020.3 ヘルプ

ネーミングスタイル

ReSharper は、コード内のシンボルの命名スタイルを定義、制御、適用できます。命名スタイルは、一連の制約として特定の識別子をターゲットとする一連のルールとして実装されます(たとえば、ルールは静的プライベート読み取り専用フィールドをターゲットにすることができます)。各ルールには、接尾辞、接頭辞、複合語の大文字の使用などを定義する 1 つ以上の関連付けられたスタイルを含めることができます。

これらのルールは、ReSharper がコード補完およびコード生成機能を使用して新しいコードを生成し、コードテンプレートを適用し、リファクタリングを実行するときに考慮されます。ReSharper は、命名規則の違反を検出して修正するのにも役立ちます。必要に応じて、命名規則の自動チェックを構成または無効にできます。

命名規則を構成する

すぐに利用できる、ReSharper は各タイプの識別子の命名規則を提供します。これらのルールは、マイクロソフトの命名ガイドライン(英語) .NET プラットフォームのコーディングスタイル(英語)、さまざまなベストプラクティスに基づいています。
ReSharper 命名規則のデフォルトと上記のガイドラインのいずれかとの間には厳密な対応はありません。

個人の好みや会社の標準が ReSharper のデフォルトと異なる場合は、柔軟な方法で命名スタイルを設定できます。識別子の種類ごとに、大文字の規則、接頭辞と接尾辞、異なるアクセス権のバリエーション、保存する略語を選択できます。

命名スタイルの設定は、レイヤーベースの設定のメカニズムを使用して保存されます。とりわけ、このメカニズムにより、さまざまなソリューションのさまざまな設定を維持したり、これらの設定を VCS に保持したり、チームメンバーと自動的に共有することができます。

デフォルトの命名規則を変更する

  1. 以下のいずれか 1 つを実行します:

    • ハイライトされているシンボル上で Alt+Enter を押し、名前の一致しないインスペクション ' 不整合な名前付け ' | 命名規則 '[ 規則名 ]' の設定を変更しますを選択します。

    • メインメニューで ReSharper | オプション | コード編集 | [ 言語 ] | ネーミングスタイルを選択し、目的のルールを選択して編集 ThemedIcon EditorOptionsPage Screen Gray png をクリックするか、またはダブルクリックします。

  2. 表示されるルール設定の編集ダイアログで、ルールの既存のスタイルを確認します。

  3. 既存のスタイルを受け入れられるが、この規則に他のスタイルを許可したい場合は、追加 ThemedIcon AddedParameter Screen Gray png をクリックします。単一の規則に複数のスタイルがある場合、対応するシンボル名がこれらのスタイルの少なくとも 1 つに一致すると、ReSharper はコードスタイル違反を検出しません。それ以外の場合、ReSharper はコードスタイル違反を検出し、デフォルトスタイル(リストの最初のスタイル)に従ってシンボルの名前を変更することを提案します。デフォルトスタイルを変更するには、上へ移動 ThemedIcon Up Screen Gray png ボタンと下へ移動 ThemedIcon Down Screen Gray png ボタンを使用します。

  4. 特定のスタイルを設定するには、リストでスタイルを選択し、接頭辞、接尾辞を設定して、命名スタイルを選択します。

  5. 不要なスタイルを削除するには、リスト内でスタイルを選択し、除去 ThemedIcon Delete Screen Gray png をクリックします。

  6. 必要に応じて、ReSharper が他のコードスタイルの違反を検出できるように、このルールに関連するコードスタイルの違反の検出を無効にすることができます。そうするには、インスペクションを使用可能にするチェックボックスをオフにします。

  7. セットをクリックして、ルール設定の編集ダイアログを閉じます。

  8. ダイアログで保存をクリックして変更を適用し、ReSharper に保存場所を選択させるか、次へ保存リストを使用して変更を特定の設定レイヤーに保存します。詳細については、ReSharper 設定の管理と共有を参照してください。

既存のルールがネーミング規則のすべての側面を網羅していない場合は、カスタムルールを作成できます。例:列挙型に大文字の大文字大文字と「E」という接頭辞が付いていることがあります。

カスタム命名規則を作成する

  1. メインメニューで ReSharper | オプション | コード編集 | C# | ネーミングスタイルを選択し、拡張設定をクリックします。

  2. 表示された高度な名前設定ダイアログで、追加 ThemedIcon AddedParameter Screen Gray png をクリックしてカスタム命名規則を作成します。

    ReSharper: naming style options. advanced settings

  3. 表示される拡張命名規則を編集するダイアログでは、新しいルールを設定します。ルールの説明フィールドに新しいルールの名前を指定し、影響を受けるエンティティエリアでターゲット識別子を選択し、アクセス権静的 / 非静的エリアを使用してルールの範囲をさらに制限します。

  4. ネーミングスタイルセクションで、上記の手順に従って、ルールに 1 つ以上のスタイルを設定します。

    ReSharper: Naming style options. Edit extended naming rule

  5. OK をクリックして拡張命名規則を編集するダイアログを閉じ、再度 OK をクリックして高度な名前設定ダイアログを閉じます。

  6. オプションダイアログで保存をクリックして変更を適用し、ReSharper に保存場所を選択させるか、次へ保存リストを使用して変更を特定の設定レイヤーに保存します。詳細については、ReSharper 設定の管理と共有を参照してください。

EditorConfig を使用して命名規則を構成する

EditorConfig を使用してプロジェクトのコードスタイルを維持する場合、.editorconfig ファイルから命名規則を構成することもできます。

EditorConfig から命名規則を構成するには、ReSharper オプション( Alt+R, O )のコードインスペクション | 設定ページで editorconfig とプロジェクト設定から設定を読み込むチェックボックスを選択する必要があります。

ReSharper 設定で既に構成した命名スタイルを .editorconfig ファイルにエクスポートすることもできます。

.editorconfig ファイルの命名スタイル設定は、 EditorConfig の .NET 命名規則(英語)のプロパティを使用して構成されます。dotnet_naming_rule.* , dotnet_naming_style.* , dotnet_naming_symbols.* — 指定された種類の記号(英語)が ReSharper 命名設定で使用可能な記号の種類と一致する場合に機能します。

EditorConfig の規則が提案するように、ReSharper は、ルートファイルパスに到達するか、root=true で EditorConfig ファイルを見つけるまで、現在のファイルのディレクトリとそのすべての親ディレクトリの .editorconfig という名前のファイルで定義された命名規則を適用します。 .editorconfig ファイルで指定されたファイルマスク、たとえば *Test.cs も考慮されます。

CamelCase の命名スタイルと競合する大文字の略語を無視する

CamelCase のシンボル名に大文字の略語(頭字語)を使用したい場合があります。デフォルトでは、ReSharper はこれを矛盾したラクダケースとして検出し、問題を報告します。

ReSharper: Nming style. abbreviations

この場合、略称のリストを命名スタイルインスペクションによって無視されるように設定することができます。

大文字の省略形は、特定の種類の識別子に定義された命名スタイルと矛盾しないように注意することが重要です。
例:無視された省略形に MS を追加した場合、MSBuilderUpperCamelCase スタイルの識別子の名前としては受け入れられますが、lowerCamelCase または all_lower 命名スタイルの識別子には受け入れられません。
同様に、myMSBuilderlowerCamelCase に対しては OK ですが、UpperCamelCase -styled 識別子に対しては OK ではありません。

略語を無視リストに追加する

  1. エディターで、その名前に省略形を使用するハイライトされたシンボルにキャレットを設定します。

  2. Alt+Enter を押すか、キャレットの左側にあるアクションインジケーターをクリックして、アクションリストを開きます。

  3. インスペクション ' 不整合な名前付け ' | 略語リストに [ 略語 ] を追加するを選択

    Adding an abbreviation to the ignore list

    必要に応じて、この設定を保存する場所を選択できます。詳細については、ReSharper 設定の管理と共有を参照してください。

シンボル名に使用できる略語が多い場合は、無視された略語のリストを編集できます。

無視された略語のリストを編集する

  1. メインメニューで ReSharper | オプション | コード編集 | C# | ネーミングスタイルを選択し、拡張設定をクリックします。

  2. ReSharper が区切り文字としてスペースを使用して略語フィールドに無視する省略形を追加します。

  3. OK をクリックして、高度な名前設定ダイアログを閉じます。

  4. オプションダイアログで保存をクリックして変更を適用し、ReSharper に保存場所を選択させるか、次へ保存リストを使用して変更を特定の設定レイヤーに保存します。詳細については、ReSharper 設定の管理と共有を参照してください。

命名規則の違反を検出して修正する

ReSharper は、' 一貫性のないネーミング ' コードインスペクションを使用して、コード内の命名規則の違反を検出します。デフォルトでは、このインスペクションは常に設計時コードインスペクションの間に適用され、検出された違反をエディターの警告としてハイライトします。例:デフォルトスタイルによれば、インターフェースの名前は 'I' プレフィックスを持つべきですインターフェース名がこの規則と一致しない場合、ReSharper はこの名前をハイライトし、その上にマウスを置くと問題について通知します。

ReSharper: Highlighted violation of the naming style

現在のファイル以外で命名スタイルの違反を見つけたい場合は、プロジェクト内またはソリューション全体で「不整合な名前」インスペクションを実行できます。

特定のスコープで命名スタイル違反を見つける

  1. エディターで、一貫性のない名前が付けられているハイライトされたシンボルにキャレットを設定します。

  2. Alt+Enter を押すか、キャレットの左側にあるアクションインジケーターをクリックして、アクションリストを開きます。

  3. インスペクション ' 不整合な名前付け ' | ファイル内に同様の課題を見つけるを選択し、目的のスコープを選択します。

    ReSharper: Using action list to find naming style issues

  4. 検出された命名スタイル違反はすべてインスペクション結果ウィンドウに表示されます。

    ReSharper: Naming style violations in solution

  5. 検出された問題をダブルクリックすると、対応するシンボルのコードに移動できます。

エディターでハイライトされているほとんどの命名スタイル違反について、ReSharper は準拠する名前のクイックフィックスを提案します。 Alt+Enter を押して、アクションリストで名前を [ 適合名 ] に変更を選択できます。

Quick-fix for naming style violation

スコープ内修正機能を使用して、現在のファイル、プロジェクト、またはソリューションでネーミングスタイル違反の自動修正を実行することもできます。

ただし、一致する名前が計算されたシンボルがすでに同じ名前空間に存在する場合、クイックフィックスは提案されません。名前変更リファクタリングでそのようなシンボルの命名を修正することができます。

自動命名規則の検査を構成および無効化する

ReSharper が既存のコードベースで命名スタイルをチェックしないようにするには、責任を負うコードインスペクションを無効にするか、特定のルールの自動インスペクションを無効にします。ただし、自動インスペクションが無効になっていても、ReSharper がコード補完、生成、リファクタリング、テンプレートを使用して新しいコードを作成する際に、すべての命名規則が考慮されます。

命名スタイルの自動検査を無効にする

  • ハイライトされているシンボル上で Alt+Enter を押し、名前の一致しないインスペクション ' 不整合な名前付け ' | インスペクションの重大度を設定する | 見せないを選択します。

  • ReSharper オプション( Alt+R, O )のコードインスペクション | インスペクション重大度ページで、「一貫性のないネーミング」と入力し始め、対応するコードインスペクションの隣のチェックボックスをオフにします。

特定の命名規則の自動検査を無効にする

  1. 以下のいずれか 1 つを実行します:

    • ハイライトされているシンボル上で Alt+Enter を押し、名前の一致しないインスペクション ' 不整合な名前付け ' | 命名規則 '[ 規則名 ]' の設定を変更しますを選択します。

    • メインメニューで ReSharper | オプション | コード編集 | [ 言語 ] | ネーミングスタイルを選択し、目的のルールを選択して編集 ThemedIcon EditorOptionsPage Screen Gray png をクリックするか、またはダブルクリックします。

  2. 開いたルール設定の編集ダイアログで、インスペクションを使用可能にするチェックボックスをオフにします。

  3. セットをクリックして、ルール設定の編集ダイアログを閉じます。

  4. ダイアログで保存をクリックして変更を適用し、ReSharper に保存場所を選択させるか、次へ保存リストを使用して変更を特定の設定レイヤーに保存します。詳細については、ReSharper 設定の管理と共有を参照してください。

既存のコードから C# 命名規則を使用する

パブリックリポジトリからソリューションをチェックアウトしたり、一時的に異なるコード命名スタイルが確立されているチームに参加したりする場合は、おそらくこのソリューションの命名規則に従う必要がありますが、同時にグローバルに構成された命名規則は変更しないでください。

ReSharper は自動的にそのような状況に対処します。シンボルの命名がグローバル設定と異なる新しいソリューションを開くと、グローバル設定と異なる命名規則が検出され、それに応じてこれらの規則が変更され、変更された規則が「Solution personal」設定レイヤーに保存されます(ソリューションの隣の .sln.DotSettings.user ファイル)。

新しいソリューションを開いたときにこれが発生した場合、ReSharper はエディターに通知を表示します。

ReSharper: Naming rules auto-detection notification

構成をクリックして対応する設定ページ(コード編集 | C# | ネーミングスタイル)を開くことができます。この設定ページでは、ソリューションコードに基づいて変更されたルールは黄色でハイライトされています。ReSharper のデフォルトの命名規則を使用する場合、または独自の方法で命名スタイル設定する場合は、自動検出ルールを使用するチェックボックスをオフにします。

ReSharper highlighting automatically-set naming rules with yellow

異なる言語での適用性

この機能は、次の言語とテクノロジーでサポートされています。

Language: C#Language: VB.NETLanguage: C++Language: HTMLLanguage: ASP.NETLanguage: RazorLanguage: JavaScriptLanguage: TypeScriptLanguage: CSSLanguage: XMLLanguage: XAMLLanguage: ResxLanguage: Build ScriptsLanguage: ProtobufLanguage: JSON
Feature is available in C#Feature is available in Visual Basic .NETFeature is available in C++Feature is not available in HTMLFeature is available in ASP.NETFeature is not available in RazorFeature is available in JavaScriptFeature is available in TypeScriptFeature is not available in CSSFeature is not available in XMLFeature is available in XAMLFeature is not available in Resource filesFeature is not available in build script filesFeature is not available in ProtobufFeature is not available in JSON

C# の機能の使用方法については、こちらの説明と例を参照してください。他言語の詳細については、言語による ReSharper の対応するトピックを参照してください。

関連ページ:

コード補完 (IntelliSense)

ReSharper は、高度な機能を備えた Visual Studio のネイティブコード補完(IntelliSense)を補完し、拡張します。例:あなたの入力に基づいて提案のリストを絞り込み、選択した型と拡張メソッドを自動的にインポートし、メソッド名を補完するときに括弧を追加し、型に応じて変数とフ...

ReSharper 設定の管理と共有

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

EditorConfig を使用する

どのフォーマットスタイルの設定がファイルフォーマット情報ウィンドウの現在のファイルに影響するかを見ることができます。ReSharper は、EditorConfig形式で定義されたコード形式スタイル、コード構文スタイル、C# の命名スタイル、コードインスペクション重大度レベルをサポートします。Mat...

アクションインジケータとアクションリスト

ReSharper が Visual Studio テキストエディターに追加する最も注目すべきものには、アクションインジケータとアクションリストがあります。これらは、ReSharper でサポートされるすべてのファイル(C#、VB.NET、XML、CSS、JavaScript、ASP.NET など)...

設計時にコードの問題を検出する

ReSharper は、エディターでコードファイルを開くとすぐに分析を開始し、最後まで編集を続けます。検出されたすべてのコードの問題は、重大度に従ってエディターでハイライトされます。課題のマップは、エディターウィンドウの右側のマーカーバーにも表示されます。ここでは、ファイルのステータスを即座に確認し...

インスペクション結果ウィンドウ

このツールウィンドウには、コード解析と探索の結果が表示されます。異なる分析ツールと探索ツールは、結果を別々のタブに表示します。コードインスペクション結果 :これらの結果には、特定の範囲で見つかったコードの問題が含まれます。たとえば、プロジェクトまたはソリューションでコードインスペクションを実行したと...