ネーミングスタイル
ReSharper は、コード内のシンボルに対して希望する命名スタイルを定義、管理、適用するのに役立ちます。 一連のルールがあり、各ルールは一連の制約を持つ特定の識別子を対象とします (たとえば、ルールは静的プライベート読み取り専用フィールドを対象にすることができます)。 各ルールには、複合語、アンダースコア、接尾辞、接頭辞などの大文字化を定義する 1 つ以上の関連スタイルを含めることができます。
これらのルールは、ReSharper が コード補完や コード生成機能で新しいコードを作成し、 コードテンプレートを適用し、 リファクタリングを実行する際に考慮されます。 ReSharper は、命名規則違反を 検出して修正するのにも役立ちます。 必要に応じて、命名規則の自動チェックを 構成または無効にできます。
命名規則を構成する
ReSharper は、すぐに使えるあらゆる種類の識別子をカバーする命名規則のセットを提供します。 これらの規則は、 マイクロソフトの命名ガイドライン、 .NET プラットフォームのコーディングスタイル(英語) 、さまざまなベストプラクティスに基づいています。
個人の環境設定や会社の基準が ReSharper のデフォルトと異なる場合、命名スタイルは柔軟に設定できます。識別子の種類ごとに大文字小文字のルール、接頭辞・接尾辞、アクセス権ごとのバリエーション、無視する略語などを選択できます。
命名スタイルの設定は、 レイヤーベースの設定のメカニズムを使用して保存されます。 このメカニズムにより、さまざまなソリューションに対して異なる設定を維持したり、これらの設定をバージョン管理システム (VCS) で管理したり、チームメンバーと自動的に共有したりすることが可能になります。
命名規則のプロパティ
各命名規則には次のプロパティがあります。
ルールの説明: ルールが適用される場所を理解するのに役立つ任意の説明。
このスタイルを適用する: ルールによって許可される 1 つ以上の命名スタイル。 対応するボタンを使用してスタイルを追加または削除します。
リストでスタイルを選択したら、 スタイル セレクターで
UpperCamelCaseやlowerCamelCaseなどの基本スタイルを選択し、必要に応じて接頭辞と接尾辞を追加します。1 つのルールに複数のスタイルがある場合、対応するシンボル名がこれらのスタイルのいずれかに一致すれば、ReSharper はコードスタイル違反を 報告しません。 それ以外の場合、ReSharper はコードスタイル違反を検出し、デフォルトスタイル(リストの最初のスタイル)に従ってシンボルの名前変更を提案します。 デフォルトスタイルを変更するには、 上へ移動
ボタンと 下へ移動
ボタンを使用します。次の要素 に: この領域では、命名規則が適用される場所を定義します。 対応するチェックボックスを使用して、どの種類の型と修飾子を持つメンバーが規則に準拠する必要があるかを指定します。
インスペクションを有効化する: このチェックボックスを使用すると、このルールに関連するコードスタイル違反の 報告を無効化しつつ、ReSharper で他の命名ルール違反を検出できるようになります。
このチェックボックスが無効になっている場合、ReSharper が コード補完や コード生成機能を使用して新しいコードを生成し、 コードテンプレートの適用や リファクタリングの実行時には、このルールが適用されます。 すべての命名規則の 自動チェックを無効にする方法もいくつかあります。

命名規則を変更する
次のいずれかを実行します。
ハイライトされているシンボル上で Alt+Enter を押し、名前の一致しない インスペクション '不整合な名前付け' | 命名規則 '[ 規則名 ]' の設定を変更する を選択します。
メインメニューから を選択し、目的のルールを選択して、 編集
をクリックするか、ダブルクリックします。
必要に応じて命名規則の プロパティを構成します。
ルールエディターがオプションダイアログから開かれた場合は、 OK(確認) をクリックして ルール設定の編集 ダイアログを閉じます。
オプション ダイアログで 保存 をクリックして変更内容を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定のレイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
既存のルールが命名規則に対して十分に細かくない場合は、さらにルールを追加できます。 たとえば、列挙型に大文字のキャメルケースを使用し、接頭辞を E にする必要があるとします。
命名ルールを追加する。
メインメニューから を選択するか、 Alt+R O を押してから、左側の を選択します。
「+」をクリックします。
必要に応じて命名規則の プロパティを構成します。
OK(確認) をクリックして、 命名ルールを追加 ダイアログを閉じます。
オプション ダイアログで 保存 をクリックして変更内容を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定のレイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
命名規則は削除できます。 規則を削除すると、一部の種類の識別子がどの規則でもカバーされなくなる可能性があります。 この場合、ReSharper は、ReSharper が コード補完や コード生成機能を使用して新しいコードを生成し、 コードテンプレートの適用や リファクタリングの実行時に、内部デフォルトを適用します。
ルールを削除するには、 ページの ReSharper オプション
Alt+R、O
で該当するルールを選択し、 削除
をクリックします。
EditorConfig を使用して命名規則を構成する
EditorConfig を使用してプロジェクトのコードスタイルを維持する場合、 .editorconfig ファイルから命名規則を構成することもできます。
EditorConfig から命名規則を設定するには、 editorconfig とプロジェクト設定から設定を読み込む チェックボックスを ページの ReSharper オプション Alt+R、O で選択する必要があります。
ReSharper 設定ですでに構成済みの命名スタイルを .editorconfig ファイルへ エクスポートすることもできます。
.editorconfig ファイルの命名スタイル設定は、 .NET EditorConfig 用命名規則のプロパティ(dotnet_naming_rule.*、 dotnet_naming_style.*、 dotnet_naming_symbols.* など)によって構成されます。指定された シンボルの種類が ReSharper の命名設定で利用できるシンボル種別に一致する場合に有効です。
それに加えて、ReSharper は、.NET の命名規則でカバーされていないケースをサポートするために、いくつかの独自プロパティを使用できます。 これらのプロパティは、ReSharper の命名設定をエクスポートするとき、主に .editorconfig ファイルに現れます。
import_to_resharperこの接尾辞を使うことで、特定のプロパティを ReSharper(
trueまたはfalse)で無視するかどうかを指定できます。ReSharper が editorconfig へ設定をエクスポートするときには、
as_predefinedも出力されることがあります—これを手動で変更しないでください。 例:dotnet_naming_rule.protected_rule_rule.import_to_resharper = falseresharper_descriptionツールチップのルールの説明を指定できます。 サンプル:
dotnet_naming_rule.protected_rule_rule.resharper_description = Somethingresharper_guidReSharper はエクスポート時にこのプロパティを使うことがあります。手動では変更しないでください。 サンプル:
dotnet_naming_rule.protected_rule_rule.resharper_guid = eb5720f3-bc0a-442d-9f3c-8dc32b7c5c12resharper_style可能なスタイルのリストを指定できるようになり、.NET 命名スタイルのリストを拡張できます。 各スタイルは、「スタイル」、「接頭辞 + スタイル + 接尾辞」、「接頭辞 + スタイル」、または「スタイル + 接尾辞」になります。
スタイルは
AaBb、AaBb_AaBb、AaBb_aaBb、aaBb、aaBb_AaBb、aaBb_aaBb、AA_BB、aa_bb、Aa_bbの 1 つにすることができますリストの最後に
:do_not_checkを追加して、インスペクションを無効にすることができます。サンプル:
dotnet_naming_rule.protected_rule_rule.resharper_style = AA_BB, aa_bb, I+AaBb, aaBb_AaBb, AaBb+Localresharper_applicable_kinds命名規則を適用する識別子の種類:
namespace、type、test_type、class、pure_class、record、struct、interface、delegate、enum、type_member、test_member、method、async_method、extension_method、property、event、any_field、field(読み取り専用または定数ではない単純なフィールド)、readonly_field、constant_field、unity_serialised_field(Unity サポートプラグインがインストールされている場合)、enum_memberlocal、local_variable、catch_variable、local_constant、parameter、lambda_parameter、label、type_parameter、local_functionサンプル:
dotnet_naming_symbols.protected_rule_symbols.resharper_applicable_kinds = pure_classresharper_required_modifiersstatic、instance(なし、これらのいずれか、両方)。 例:dotnet_naming_symbols.protected_rule_symbols.resharper_required_modifiers = static, instanceresharper_csharp_naming_ruleresharper_styleと同じ値を使用しますが、この設定は以下のいずれかの事前定義済みルールのみを指定する場合に限り利用できます:types_and_namespaces、interfaces、type_parameters、method、property、event、locals、local_constants、parameters、public_fields、private_instance_fields、private_static_fields、constants、private_constants、static_readonly、private_static_readonly、enum_member、local_functions、otherサンプル:
resharper_csharp_naming_rule.private_instance_fields = I+AaBb_AaBb,_+aaBb:do_not_check
EditorConfig の規則に従い、ReSharper は現在のファイルのディレクトリおよびすべての親ディレクトリにある .editorconfig という名前のファイルに定義された命名規則を、ルートファイルパスに到達するか root=true が指定された EditorConfig ファイルが見つかるまで適用します。 .editorconfig ファイルで指定されているファイルマスク、たとえば *Test.cs も考慮されます。
CamelCase の命名スタイルと競合する大文字の略語を無視する
CamelCase シンボル名で大文字の略語、頭字語、頭字語 (MicroSoft の代わりに MS など) を使用したい場合があります。 デフォルトでは、ReSharper は複数の大文字が連続するため、それを一貫性のないキャメルケースとして 報告します:
![]()
これを回避するには、一貫性のない命名インスペクションによって省略語のリストが無視されるように構成できます。
大文字の略語は、特定の種類の識別子に対して定義された命名スタイルと矛盾してはならないことに注意することが重要です。
例: 無視された略語に MS を追加した場合、 MSBuilder は UpperCamelCase スタイルの識別子には受け入れられる名前になりますが、 lowerCamelCase または all_lower 命名スタイルの識別子には受け入れられません。
同様に、 myMSBuilder は lowerCamelCase に対しては問題ありませんが、 UpperCamelCase-styled 識別子に対しては問題ありません。
略語を無視リストに追加する
エディターで、名前に略語が使用されているハイライトされたシンボルにキャレットを置きます。
Alt+Enter を押すか、キャレットの左側にある アクションインジケーターをクリックして アクションリストを開きます。
インスペクション '不整合な名前付け' | 略語リストに [ 略語 ] を追加する を選択

必要に応じて、無視された略語を特定の 設定レイヤーに保存することもできます。

シンボル名に許可する略語が多数ある場合は、無視する略語のリストを編集できます。
無視された略語のリストを編集する
メインメニューから を選択するか、 Alt+R O を押してから、左側の を選択します。
略語 の横にある … をクリックします。
略語を入力して、 追加 をクリックします。 必要なすべての略語に対してこれを繰り返し、 OK(確認) をクリックします。
または、スペースを区切り文字として使用して、 略語 フィールドを手動で編集します。
オプション ダイアログで 保存 をクリックして変更内容を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定のレイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
命名規則の違反を検出して修正する
ReSharper は「一貫性のない命名」コードインスペクションを利用して、コード内の命名規則違反を検出します。 デフォルトでは、このインスペクションは 設計時コードインスペクション中に常時適用され、検出された違反はエディターで 警告としてハイライト表示されます。 例: デフォルトのスタイルによれば、インターフェースの名前には接頭辞「I」が必要です。 インターフェース名がこのルールに一致しない場合、ReSharper はその名前をハイライトし、その上にマウスを置くと問題を通知します:

現在のファイル以外で命名スタイルの違反を見つけたい場合は、プロジェクト内またはソリューション全体で「不整合な名前」インスペクションを実行できます。
特定のスコープで命名スタイル違反を見つける
エディターで、一貫性のない名前を持つハイライトされたシンボルにキャレットを置きます。
Alt+Enter を押すか、キャレットの左側にある アクションインジケーターをクリックして アクションリストを開きます。
インスペクション '不整合な名前付け' | ファイル内に同様の問題を見つける を選択し、目的の範囲を選択します。

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

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

スコープ内修正機能を使用して、現在のファイル、プロジェクト、ソリューションでネーミングスタイル違反の自動修正を実行することもできます。
ただし、一致する名前が計算されたシンボルがすでに同じ名前空間に存在する場合、クイックフィックスは提案されません。 Rename リファクタリング でそのようなシンボルの命名を修正することができます。
命名規則の自動検査を構成して無効にする
ReSharper に既存のコードベースの命名スタイルをチェックさせたくない場合は、それに該当するコードインスペクションを無効化するか、特定のルールの自動チェックを無効にすることができます。 ただし、自動チェックが無効化されている場合でも、ReSharper で コード補完と コード生成機能を使用して新しいコードを生成し、 コードテンプレートを適用し リファクタリングを行う際には、すべての命名規則が適用されます。
命名スタイルの自動検査を無効にする
ハイライトされているシンボル上で Alt+Enter を押し、名前の一致しない インスペクション '不整合な名前付け' | インスペクションの重大度を設定する | 表示しない を選択します。
「矛盾した命名」インスペクションを有効化 チェックボックスの選択を ReSharper オプション の ページ Alt+R、O で解除します。
ReSharper オプション の ページ Alt+R、O で「Inconsistent Naming」と入力し、該当するコードインスペクション横のチェックボックスをオフにします。
ソリューションで .editorconfig を使用を使用する場合、特定のスコープで 「一貫性のない命名」インスペクションを無効にすることができます。
resharper_inconsistent_naming_highlighting=none
特定の命名規則の自動検査を無効にする
次のいずれかを実行します。
ハイライトされているシンボル上で Alt+Enter を押し、名前の一致しない インスペクション '不整合な名前付け' | 命名規則 '[ 規則名 ]' の設定を変更する を選択します。
メインメニューから を選択し、目的のルールを選択して、 編集
をクリックするか、ダブルクリックします。
開いた ルール設定の編集 ダイアログで、 インスペクションを有効化する チェックボックスをオフにします。
オプション ダイアログで 保存 をクリックして変更内容を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定のレイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
既存のコードから C# 命名規則を使用する
パブリックリポジトリからソリューションをチェックアウトするか、別のコード命名スタイルが確立されているチームに一時的に参加する場合は、このソリューションの命名規則に従うと同時に、グローバルに構成された命名規則を変更しないことをお勧めします。
ReSharper はこのような状況を自動的に処理します。シンボル命名がグローバル設定と異なる新しいソリューションを開いた場合、グローバル設定から逸脱している命名規則を検出し、対応するよう修正した上で、修正後のルールを 「ソリューションパーソナル」設定レイヤ (ソリューションの隣の .sln.DotSettings.user ファイル)へ保存します。
新しいソリューションを開いた際にこれが発生すると、ReSharper はエディター内で通知を表示します:

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

イベントの Visual Studio 命名スタイルを扱う
デフォルトで、ReSharper はフィールドへのイベントサブスクリプションには $object$On$event$ の命名パターンを、 this へのイベントサブスクリプションには On$event$ の命名パターンを提案します。これらのパターンは、ReSharper が新しいイベントを生成するとき、また既存イベントの命名スタイルをチェックするときの両方で使用されます。 必要に応じて、ReSharper オプション の ページでこれらのパターンを変更できます。
Visual Studio によって新しいイベントが生成されると、別の命名パターン $object$_$event$ が使用されます。 このような命名のイベントが既存のプロジェクトにあり、名前を変更したくない場合は、ReSharper オプション の ページで Microsoft イベントの命名スタイルをサポート チェックボックスが選択されていることを確認してください。 これにより、これらのイベントで「名前の不一致」の警告が表示されなくなります。
異なる言語での適用性
この機能は、次の言語とテクノロジーで サポートされています。
ここで説明する手順と例では、C# の機能の使用について説明します。 他の言語の詳細については、 言語およびフレームワーク セクションの対応するトピックを参照してください。