ReSharper 2018.3ヘルプ

ネーミングスタイル

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

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

命名規則の設定

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

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

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

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

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

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

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

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

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

  5. 不要なスタイルを削除するには、リストからそれを選択して除去をクリックします。ThemedIcon RemovedParameter Screen Color

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

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

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

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

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

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

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

    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の命名様式と矛盾する大文字の略語を無視する

キャメルケースのシンボル名に大文字の略語(頭字語)を使用したい場合があります。デフォルトでは、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を提案します。

Quick-fix for naming style violation

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

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

自動ネーミングルールのチェックの設定と無効化

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

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

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

  • ReSharperオプションのコード・インスペクション | インスペクション重大度ページで、「Inconsistent Naming」と入力し、対応するコードインスペクションの横にあるチェックボックスをオフにします。

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

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

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

  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年1月21日

関連事項