ReSharper 2019.1ヘルプ

ネーミングスタイル

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

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

命名規則の設定

ReSharperは、各タイプの識別子に対して命名規則を提供します。これらのルールは、マイクロソフトの命名ガイドライン(英語).NET Foundationコーディングガイドライン(英語)、およびベストプラクティスに基づいています。
ReSharperの命名規則のデフォルトと前述のガイドラインの間には、厳密な対応はありません。

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

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

既定の名前付け規則を変更するには

  1. 以下のいずれか 1 つを実行します:
    • 強調表示されているシンボル上で Alt+Enter を押し、名前の一致しない インスペクション '不整合な名前付け' | 命名規則 '[規則名]'の設定を変更します を選択します。

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

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

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

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

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

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

  7. 設定をクリックしてオプションページから開いた場合は、ルール設定の編集ダイアログを閉じます。

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

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

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

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

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

    Coding Assistance Naming Style Options Advanced Settings

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

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

    Coding Assistance Naming Style options Edit Extended Naming Rule

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

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

CamelCaseの命名様式と矛盾する大文字の略語を無視する

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

Coding Assistance Naming Style abbreviation

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

大文字の略語は、特定の種類の識別子に対して定義された命名スタイルと矛盾してはならないことに注意することが重要です。
例:無視された略語に MS を追加した場合、MSBuilderUpperCamelCase スタイルの識別子の受け入れ可能な名前になりますが、lowerCamelCase または all_lower の名前付けスタイルを持つ識別子には受け入れられません。
同様に、myMSBuilderlowerCamelCaseではOKですが、UpperCamelCase形式の識別子では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は、'Inconsistent Naming'コードインスペクションを使用して、コード内の命名規則の違反を検出します。デフォルトでは、このインスペクションは常に設計時コードインスペクションの間に適用され、検出された違反をエディターの警告として強調表示します。例:デフォルトスタイルによれば、インターフェースの名前は '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オプションのコード・インスペクション | インスペクション重大度ページで、「Inconsistent Naming」と入力し、対応するコードインスペクションの横にあるチェックボックスをオフにします。

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

  1. 以下のいずれか 1 つを実行します:
    • 強調表示されているシンボル上で Alt+Enter を押し、名前の一致しない インスペクション '不整合な名前付け' | 命名規則 '[規則名]'の設定を変更します を選択します。

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

  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.NET

Language: C++

Language: HTML

Language: ASP.NET

Language: Razor

Language: JavaScript

Language: TypeScript

Language: CSS

Language: XML

Language: XAML

Language: Resx

Language: Build Scripts

Language: Protobuf

Language: JSON

Feature is available

Feature is available

Feature is available

Feature is not available

Feature is available

Feature is not available

Feature is available

Feature is available

Feature is not available

Feature is not available

Feature is available

Feature is not available

Feature is not available

Feature is not available

Feature is not available

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

最終更新日: 2019年5月14日

関連事項

関連ページ:

コード補完 (IntelliSense)

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

コード生成

ReSharperは、定型コードを生成するさまざまな方法を提供します。例:宣言されていないコードシンボルを使用し、これらのシンボルを用途に基づいて自動的に生成したり、型メンバーを生成したりすることができます。現在のファイルで設計時コードインスペクションが有効になっている場合、ReSharperは足り...

ReSharper設定の管理と共有

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

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

Alt+EnterReSharperがVisual Studioのテキストエディターに追加する最も目立つものは、アクションインジケータとアクションリストです。ReSharper(C#、VB.NET、XML、CSS、JavaScript、ASP.NETなど)でサポートされているすべてのファイルに表示さ...

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

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

コード・インスペクション

ReSharperはすべてのサポートされている言語で2300コードインスペクションを提供します。これらのインスペクションは、開いているすべてのファイルで設計時にコードの問題を検出して強調表示するため、および/または特定の範囲内ですべてのコードの問題を見つけるために使用されます。エディターで強調表示さ...