JetBrains Rider 2024.3 ヘルプ

ネーミングスタイル

JetBrains Rider は、コード内のシンボルの希望する命名スタイルを定義、制御、適用できます。一連のルールがあり、各ルールは一連の制約を持つ特定の識別子を対象とします (たとえば、ルールは静的プライベート読み取り専用フィールドを対象にすることができます)。各ルールには、複合語、アンダースコア、接尾辞、接頭辞などの大文字化を定義する 1 つ以上の関連スタイルを含めることができます。

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

命名規則を構成する

JetBrains Rider は、あらゆる種類の識別子をカバーする命名規則のセットをすぐに使用できます。これらの規則は、マイクロソフトの命名ガイドライン.NET プラットフォームのコーディングスタイル(英語)、さまざまなベストプラクティスに基づいています。

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

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

命名規則のプロパティ

各命名規則には次のプロパティがあります。

  • ルールの説明 : ルールが適用される場所を理解するのに役立つ任意の説明。

  • このスタイルを適用する : ルールによって許可される 1 つ以上の命名スタイル。対応するボタンを使用してスタイルを追加または削除します。

    リストでスタイルを選択したら、スタイルセレクターで UpperCamelCaselowerCamelCase などの基本スタイルを選択し、必要に応じて接頭辞と接尾辞を追加します。

    1 つのルールに複数のスタイルがある場合、対応するシンボル名がこれらのスタイルの少なくとも 1 つと一致すると、JetBrains Rider はコードスタイル違反を報告しません。それ以外の場合、JetBrains Rider はコードスタイル違反を検出し、デフォルトスタイル (リストの最初のスタイル) に従ってシンボルの名前を変更することを提案します。デフォルトスタイルを変更するには、上へ移動ボタンと下へ移動ボタンを使用します。

  • 次の要素に: この領域では、命名規則が適用される場所を定義します。対応するチェックボックスを使用して、どの種類の型と修飾子を持つメンバーが規則に準拠する必要があるかを指定します。

  • インスペクションを有効化する : このチェックボックスを使用すると、このルールに関連付けられたコードスタイル違反の報告を無効にしながら、JetBrains Rider が他の命名ルール違反を検出できるようにすることができます。

    このチェックボックスを無効にすると、JetBrains Rider がコード補完コード生成機能を使用して新しいコードを生成し、コードテンプレートを適用し、リファクタリングを実行するときに、このルールが考慮されます。すべての命名規則の自動チェックを無効にする方法もいくつかあります。

JetBrains Rider: Add/Edit Naming Rule dialog

命名規則を変更する

  1. Rider 設定 Ctrl+Alt+S で、エディター | コードスタイル | C# に移動し、ネーミングタブを開きます。

  2. リスト内の目的のルールをダブルクリックします。

  3. 必要に応じて命名規則のプロパティを構成します。

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

  5. 設定ダイアログで保存をクリックして変更を適用し、JetBrains Rider が変更を保存する場所を選択できるようにするか、保存セレクターからこのレイヤーを選択して特定の設定レイヤーに変更を保存します。詳細については、「レイヤーベースの設定」を参照してください。

既存のルールが命名規則に対して十分に細かくない場合は、さらにルールを追加できます。たとえば、列挙型に大文字のキャメルケースを使用し、接頭辞を E にする必要があるとします。

命名規則を追加する

  1. Ctrl+Alt+S を押すか、メニューからファイル | 設定 (Windows および Linux) または JetBrains Rider | 環境設定 (macOS) を選択し、左側のエディター | コードスタイル | C# | ネーミングを選択します。

  2. 「+」をクリックします。

  3. 必要に応じて命名規則のプロパティを構成します。

  4. OK をクリックして、命名規則の追加ダイアログを閉じます。

  5. 設定ダイアログで保存をクリックして変更を適用し、JetBrains Rider が変更を保存する場所を選択できるようにするか、保存セレクターからこのレイヤーを選択して特定の設定レイヤーに変更を保存します。詳細については、「レイヤーベースの設定」を参照してください。

命名規則は削除できます。規則を削除すると、一部の種類の識別子がどの規則でもカバーされなくなる可能性があります。この場合、JetBrains Rider がコード補完コード生成機能を使用して新しいコードを生成し、コードテンプレートを適用してリファクタリングを実行するときに、JetBrains Rider は内部のデフォルトを適用します。

ルールを削除するには、JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | C# | ネーミングページでルールを選択し、削除をクリックします。

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

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

EditorConfig から命名規則を構成するには、JetBrains Rider 設定 Ctrl+Alt+Sエディター | インスペクション設定ページで editorconfig、プロジェクト設定、ルールセットから設定を読み取りますチェックボックスを選択する必要があります。

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

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

それに加えて、JetBrains Rider は多くのカスタムプロパティを使用して、.NET 命名規則でカバーされていないケースをサポートできます。これらのプロパティは、JetBrains Rider の名前設定をエクスポートするときに、主に .editorconfig ファイルに表示されます。

  • import_to_resharper

    この接尾辞を使用すると、特定のプロパティを JetBrains Rider(true または false)で無視するかどうかを指定できます。

    JetBrains Rider がその設定を editorconfig にエクスポートするとき、as_predefined を書き込むこともできます。手動で変更しないでください。例: dotnet_naming_rule.protected_rule_rule.import_to_resharper = false

  • resharper_description

    ツールチップのルールの説明を指定できます。例: dotnet_naming_rule.protected_rule_rule.resharper_description = Something

  • resharper_guid

    JetBrains Rider は、エクスポート時にこのプロパティを使用できます。手動で変更しないでください。例: dotnet_naming_rule.protected_rule_rule.resharper_guid = eb5720f3-bc0a-442d-9f3c-8dc32b7c5c12

  • resharper_style

    可能なスタイルのリストを指定できるようになり、.NET 命名スタイルのリストを拡張できます。各スタイルは、「スタイル」、「接頭辞 + スタイル + 接尾辞」、「接頭辞 + スタイル」、または「スタイル + 接尾辞」になります。

    スタイルは AaBbAaBb_AaBbAaBb_aaBbaaBbaaBb_AaBbaaBb_aaBbAA_BBaa_bbAa_bb の 1 つにすることができます

    リストの最後に :do_not_check を追加して、インスペクションを無効にすることができます。

    サンプル: dotnet_naming_rule.protected_rule_rule.resharper_style = AA_BB, aa_bb, I+AaBb, aaBb_AaBb, AaBb+Local

  • resharper_applicable_kinds

    命名規則を適用する識別子の種類: namespacetypetest_typeclasspure_classrecordstructinterfacedelegateenumtype_membertest_membermethodasync_methodextension_methodpropertyeventany_fieldfield (読み取り専用または定数ではない単純なフィールド)、readonly_fieldconstant_fieldunity_serialised_field (Unity サポートプラグインが有効な場合)、enum_member locallocal_variablecatch_variablelocal_constantparameterlambda_parameterlabeltype_parameterlocal_function

    サンプル: dotnet_naming_symbols.protected_rule_symbols.resharper_applicable_kinds = pure_class

  • resharper_required_modifiers

    staticinstance (なし、これらのいずれか、両方)。例: dotnet_naming_symbols.protected_rule_symbols.resharper_required_modifiers = static, instance

  • resharper_csharp_naming_rule

    resharper_style の場合と同じ値を使用しますが、この設定は、事前定義されたルールの 1 つを指定するためにのみ使用できます。 types_and_namespacesinterfacestype_parametersmethodpropertyeventlocalslocal_constantsparameterspublic_fieldsprivate_instance_fieldsprivate_static_fieldsconstantsprivate_constantsstatic_readonlyprivate_static_readonlyenum_memberlocal_functionsother

    サンプル: resharper_csharp_naming_rule.private_instance_fields = I+AaBb_AaBb,_+aaBb:do_not_check

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

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

CamelCase シンボル名で大文字の略語、頭字語、頭字語 (MicroSoft の代わりに MS など) を使用したい場合があります。デフォルトでは、JetBrains Rider は、複数の大文字が連続しているため、これを一貫性のないキャメルケースとして報告します

JetBrains Rider: Naming style. abbreviations

これを回避するには、一貫性のない命名インスペクションによって省略語のリストが無視されるように構成できます。

大文字の略語は、特定の種類の識別子に対して定義された命名スタイルと矛盾してはならないことに注意することが重要です。

例: 無視された略語に MS を追加した場合、MSBuilderUpperCamelCase スタイルの識別子には受け入れられる名前になりますが、lowerCamelCase または all_lower 命名スタイルの識別子には受け入れられません。

同様に、myMSBuilderlowerCamelCase に対しては問題ありませんが、UpperCamelCase -styled 識別子に対しては問題ありません。

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

  1. エディターで、名前に略語が使用されているハイライトされたシンボルにキャレットを置きます。

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

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

    Adding an abbreviation to the ignore list
  4. 必要に応じて、無視された略語を特定の設定レイヤーに保存することもできます。

    JetBrains Rider: Saving an ignored abbreviation to a settings layer

シンボル名に許可する略語が多数ある場合は、無視する略語のリストを編集できます。

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

  1. Ctrl+Alt+S を押すか、メニューからファイル | 設定 (Windows および Linux) または JetBrains Rider | 環境設定 (macOS) を選択し、左側のエディター | コードスタイル | C# | ネーミングを選択します。

  2. 略語の横にある ... をクリックします。

  3. 略語を入力して、追加をクリックします。必要なすべての略語に対してこれを繰り返し、OK をクリックします。

  4. または、スペースを区切り文字として使用して、略語フィールドを手動で編集します。

  5. 設定ダイアログで保存をクリックして変更を適用し、JetBrains Rider が変更を保存する場所を選択できるようにするか、保存セレクターからこのレイヤーを選択して特定の設定レイヤーに変更を保存します。詳細については、「レイヤーベースの設定」を参照してください。

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

JetBrains Rider は、「一貫性のない命名」コードインスペクションを使用して、コード内の命名規則の違反を検出します。デフォルトでは、このインスペクションは設計時コードインスペクション中に常に適用され、検出された違反がエディターで警告としてハイライトされます。例: デフォルトのスタイルによれば、インターフェースの名前には接頭辞「I」が必要です。インターフェース名がこのルールに一致しない場合、JetBrains Rider はこの名前をハイライトし、その上にマウスを置くと問題について通知します。

JetBrains Rider: Highlighted violation of the naming style

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

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

  1. エディターで、一貫性のない名前を持つハイライトされたシンボルにキャレットを置きます。

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

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

    JetBrains Rider: Using action list to find naming style issues
  4. 見つかった命名スタイル違反はすべて「問題」ウィンドウに表示されます。

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

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

Quick-fix for naming style violation

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

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

命名規則の自動検査を構成して無効にする

JetBrains Rider に既存のコードベースの命名スタイルをチェックさせたくない場合は、その原因となっているコードインスペクションを無効にするか、特定のルールの自動チェックを無効にすることができます。ただし、自動チェックが無効になっている場合でも、JetBrains Rider がコード補完コード生成機能を使用して新しいコードを生成し、コードテンプレートを適用してリファクタリングを実行するときには、すべての命名ルールが考慮されます。

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

  • JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | C# | ネーミングページで「矛盾した命名」インスペクションを有効にするチェックボックスをオフにします。

  • JetBrains Rider 設定 Ctrl+Alt+Sエディター | インスペクション重大度ページで、「一貫性のないネーミング」と入力し始め、対応するコードインスペクションの隣のチェックボックスをオフにします。

  • ソリューションで .editorconfig を使用を使用する場合、特定のスコープで「一貫性のない命名」インスペクションを無効にすることができます。

    resharper_inconsistent_naming_highlighting=none

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

  1. Rider 設定 Ctrl+Alt+S で、エディター | コードスタイル | C# に移動し、ネーミングタブを開きます。

  2. リスト内の目的のルールをダブルクリックします。

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

  4. 設定ダイアログで保存をクリックして変更を適用し、JetBrains Rider が変更を保存する場所を選択できるようにするか、保存セレクターからこのレイヤーを選択して特定の設定レイヤーに変更を保存します。詳細については、「レイヤーベースの設定」を参照してください。

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

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

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

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

JetBrains Rider: Naming rules auto-detection notification

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

JetBrains Rider highlighting automatically-set naming rules with yellow

イベントの Visual Studio 命名スタイルを扱う

デフォルトでは、JetBrains Rider は、フィールドのイベントサブスクリプションに $object$On$event$ 命名パターンを提案し、this のイベントサブスクリプションに On$event$ 命名パターンを提案します。これは、JetBrains Rider が新しいイベントを生成するときと、既存のイベントの命名スタイルをチェックするときの両方で使用されます。必要に応じて、JetBrains Rider 設定のエディター | コードスタイル | C# | ネーミングページでこれらのパターンを変更できます。

Visual Studio によって新しいイベントが生成されると、別の命名パターン $object$_$event$ が使用されます。既存のプロジェクトでイベントの名前がこのように付けられていて、名前を変更したくない場合は、JetBrains Rider 設定のエディター | コードスタイル | C# | ネーミングページで Microsoft イベントの命名スタイルをサポートチェックボックスが選択されていることを確認してください。これにより、これらのイベントで「名前の不一致」の警告が表示されなくなります。

関連ページ:

コード補完 (IntelliSense)

JetBrains Rider のコード補完機能に慣れ親しむために、実装の基礎をいくつか紹介します。新しい識別子の入力を開始するとすぐに、自動補完の候補リストが表示されます。を押すと、基本補完の候補リストが表示されます。他の 2 つの補完コマンド、型一致補完および第 2 基本補完は、高度なアルゴリズムを適用して、候補リストにさらに項目を追加します。AI Assistant を有効にしている場合は、周囲のコンテキストに基づいてコードブロック全体を作成できる AI を搭載したコード補完を利用できます。...

コード生成

JetBrains Rider は、定型コードを生成するさまざまな方法を提供します。例: 宣言されていないコードシンボルを使用し、これらのシンボルを用途に基づいて自動的に生成したり、型メンバーを生成したりすることができます。現在のファイルで設計時コードインスペクションが有効になっている場合、JetBrains Rider は足りないメンバーを検出し、足りないメンバーを実装するために対応するクイックフィックスを提案します。コンテキストアクションとコードテンプレートを使用すると、コードを生成するその...

レイヤーベースの設定

Rider 設定ダイアログでは、ページアイコンを見て、特定のページに使用されている設定管理メカニズムを確認できます。任意のアイコンでマークされていないページは、ユーザープロファイルに保存されている IDE 設定をホストします。レイヤーベースの設定は ReSharper と互換性があるため、ReSharper を使用している場合、チームメンバーのいずれかがそれを使用している場合、Rider は ReSharper で構成した設定を読み取って適用できます。「ソリューションパーソナル」および「ソリュ...

C++ のコードスタイル支援

JetBrains Rider はあなたのコードをきちんときれいに保つための多くの機能を提供します。JetBrains Rider の他の機能の大部分と密接に連携しているため、特定のコードスタイルに従ってコードを生成したり既存のコードベースを変更したりできます。命名標準、フォーマット規則、その他のさまざまな小さな要素を含むコードスタイルは、非常に詳細なレベルに構成してチーム全体で共有できます。他の言語と同様に、スコープを修正またはコードのクリーンアップを使用して、1 つのコマンドですべての C+...

EditorConfig を使用する

JetBrains Rider は、EditorConfig 形式で定義されたコード形式スタイル、コード構文スタイル、C# の命名スタイル、コードインスペクション重大度レベルをサポートします。EditorConfig とは何ですか? JetBrains Rider はどのようにそれを拡張しますか? :EditorConfig は、同じコードで作業しているチームメンバー間、およびメンバーが使用する可能性のあるさまざまな IDE 間で一貫したコードスタイルを定義および維持するために使用される構成ファイ...

Unity のゲーム開発

Unity は、2D および 3D ゲームを作成し、複数のプラットフォームにデプロイするために使用されるゲーム開発環境です。JetBrains Rider は、Unity 固有のクイックフィックス、コンテキストアクション、シェーダーファイルでのインスペクション、コード補完、構文のハイライト、Unity スクリプトのデバッグ、Unity テストの実行とデバッグ、Unity ゲームのプロファイリング、アセットのリフレッシュなど、Unity の強力なサポートを提供します。サポートされるバージョン:J...