コード構文スタイル: タイプメンバーのボディ
C# 6.0 から、ラムダ式と非常によく似た式本体を使用して型メンバーを宣言できます。式本体のメソッドとプロパティを使用して、単純な実装の構文をさらに単純化できます。
単純なメンバーの式本体またはブロック本体の実装に固執する場合、JetBrains Rider を使用すると、さまざまな種類のメンバーに対して個別に設定を構成し、コードベース全体で設定の一貫性を維持できます。
JetBrains Rider は、既存のコードで式本体のメンバーの設定を適用するのに役立ち、コード補完とコード生成機能を備えた新しいコードを生成し、コードテンプレート を適用し、リファクタリングを実行するときに設定を考慮に入れます。
表現型の関数の優先順位を強制する
JetBrains Rider はあなたに準拠するために、すべての単純なメンバーを確認することができます好み、彼らは準拠していない場合は、それがハイライトされ、そのような実装をし、対応するクイックフィックスまたは提案範囲で修正を。デフォルトの JetBrains Rider の設定では、プロパティ、インデクサー、イベントには式の本体が推奨されています。
![JetBrains Rider: 「ボディを表現する」クイックフィックス JetBrains Rider. 'To expression body' quick-fix](https://resources.jetbrains.com/help/img/rider/2024.1/expression_bodied_fix.png)
他のすべての種類のメンバーの場合、提案はデフォルトで無効になっています。しかし、設定でき嗜好をそれは、たとえば、JetBrains Rider はブロック体に表現ボディの変換方法を示しているため、別の方法で:
![JetBrains Rider: 「ステートメント本体へ」クイックフィックス JetBrains Rider. 'To statement body' quick-fix](https://resources.jetbrains.com/help/img/rider/2024.1/expression_bodied_blcok_fix.png)
バルクモードで式本体のメンバーの設定を強制する別のオプションは、コードのクリーンアップです。組み込みプロファイルフルクリーンアップまたは再フォーマットして構文スタイルを適用のいずれかを使用してコードクリーンアップを実行するか、以下で説明するように、特定のタスクのみを対象としたカスタムプロファイルを作成して実行できます。
カスタムのコードクリーンアッププロファイルを使用して、式に基づいた関数の設定を適用する
Ctrl+Alt+S を押すか、メニューから
(Windows および Linux)または (macOS) を選択します。クリーンアッププロファイル設定ページに移動します:
。新しいカスタムクリーンアッププロファイルを作成するセクションの説明に従って、新しいプロファイルを作成します。新しいプロファイルの選択したプロファイル設定セクションで、コードボディスタイルを適用する (式本体とブロック本体) チェックボックスをオンにします。必要に応じて、このプロファイルで他のコードクリーンアップタスクを有効にすることができます。
設定ダイアログで保存をクリックして変更を適用し、JetBrains Rider が変更を保存する場所を選択できるようにするか、保存セレクターからこのレイヤーを選択して特定の設定レイヤーに変更を保存します。詳細については、「レイヤーベースの設定」を参照してください。
設定を適用する範囲を選択します。
ファイル内の任意の場所にキャレットを配置して、ファイルに設定を適用します。
ソリューションエクスプローラー内の 1 つまたは複数の項目を選択して、これらのノードおよびその子項目にあるファイルに設定を適用します。
Ctrl+R, C を押すか、メインメニューから
を選択します。開いたコードの再フォーマットとクリーンアップダイアログで、新しく作成したプロファイルを選択し、必要に応じて別のスコープを選択します。
OK をクリックします。JetBrains Rider は選択した範囲内であなたの設定を強制します。
コードの再フォーマットとクリーンアップダイアログを開いてプロファイルを選択せずに、式形式のメンバーの設定を強制する場合は、作成したプロファイルをサイレントクリーンアップにバインドし、Ctrl+R, G を押して実行できます。設定の適用と他のコードスタイルタスクを組み合わせたカスタムクリーンアッププロファイルを作成することもできます。
選択したコードブロック Alt+Enter に、他のすべてのフォーマットおよび構文スタイルの規則とともに式本体の関数の設定を適用するには、 を選択します。
最近変更し、Git にコミットしようとしているコードで、式本体のメンバーの環境設定を適用できます。JetBrains Rider は、コミットする前に、選択したクリーンアッププロファイルを実行します。
Git にコミットする前にコードをクリーンアップする
Ctrl+K を押すか、メインメニューから
を選択します。コミットツールウィンドウで
をクリックし、コミットチェック領域でクリーンアップ ... チェックボックスを選択します。
プロファイルの選択をクリックして、カスタムコードクリーンアッププロファイルを選択します。
コミットまたはコミットとプッシュをクリックします。JetBrains Rider は、コミット用にステージングされたファイルでコードのクリーンアップを実行し、変更をコミットします。
変更をファイルに保存するたびに、式本体のメンバーの設定を適用して、編集が常にコードスタイルに準拠するようにすることができます。これは、変更を Ctrl+S または Ctrl+S で明示的に保存した場合にのみ発生し、auto-saving によってトリガーされないことに注意してください。ただし、自動保存されたすべてのファイルは「再フォーマットおよびクリーンアップ」キューに配置され、次の明示的な保存で処理されます。
変更を保存する際に、式ボディのメンバーの設定を自動的に適用する
Ctrl+Alt+S を押して設定を開き、
を選択します。コードの再フォーマットとクリーンアップを選択し、カスタムコードクリーンアッププロファイルを選択して、それをファイル全体に適用するか、変更された行のみに適用するかを選択します。
次に編集を終了してファイルまたはすべてのファイルを保存すると、JetBrains Rider は選択されたプロファイルを使用して影響を受けるファイルをクリーンアップします。
式に基づく関数の設定を構成する
機能体の設定は、レイヤーベースの設定のメカニズムを使用して保存されます。とりわけ、このメカニズムにより、さまざまなソリューションのさまざまな設定を維持したり、これらの設定を VCS に保持したり、チームメンバーと自動的に共有することができます。
設定で式の本文スタイルを構成する
JetBrains Rider 設定 Ctrl+Alt+S の構文スタイルタブを選択します。
ページに移動し、コード本体カテゴリの設定を、コーディングのプラクティス / 標準に従って変更します。
デフォルトでは、JetBrains Rider はヒューリスティックを適用して、メソッドのブロック本体を式本体に変換するかどうかを決定します。とりわけ、これは、JetBrains Rider が
void
メソッドおよびラムダ式を含むメソッドの式本体を提案しないことを意味します。スタイルヒューリスティックを適用するチェックボックスをオフにすると、このロジックを簡略化できます。この場合、ロジックは単純です。ある種のメンバーに式本体を使用することを選択した場合、この種類のメンバーの宣言が単一のステートメントで構成されていると、JetBrains Rider は式本体を提案します。
右側の列のセレクターを使用すると、設定とは異なるコードインスペクション検出コードの重大度レベルを設定できます。
設定ダイアログで保存をクリックして変更を適用し、JetBrains Rider が変更を保存する場所を選択できるようにするか、保存セレクターからこのレイヤーを選択して特定の設定レイヤーに変更を保存します。詳細については、「レイヤーベースの設定」を参照してください。
また、エディター内で関数本体の設定を変更することもできます。ここで、対応する問題がハイライトされます。
エディターから式本体を使用する設定を変更する
JetBrains Rider のインスペクションでハイライトされているコードの問題にキャレットを置きます。
Alt+Enter を押すか、キャレットの左側にあるアクションインジケーターをクリックして、アクションリストを開きます。
アクションリストでインスペクション「推奨するボディスタイルを使用してください ...」 | コードスタイルを設定するを選択し、希望の設定を選択します。
変更は、スマートセーブロジックを使用して保存されます。
変更したスタイル設定を共有設定レイヤーに保存する必要がある場合は、コードスタイルを設定するメニュー項目をクリックするか、選択時に Enter を押します。JetBrains Rider により、JetBrains Rider 設定の ページが開きます。必要に応じて設定を変更し、保存先をクリックして、目的の設定レイヤーを選択します。
関連ページ:
![](https://pleiades.io/icons/rider.png)
コード補完 (IntelliSense)
JetBrains Rider のコード補完機能に慣れ親しむために、実装の基礎をいくつか紹介します。新しい識別子の入力を開始するとすぐに、自動補完の候補リストが表示されます。を押すと、基本補完の候補リストが表示されます。他の 2 つの補完コマンド、型一致補完および第 2 基本補完は、高度なアルゴリズムを適用して、候補リストにさらに項目を追加します。AI Assistant を有効にしている場合は、周囲のコンテキストに基づいてコードブロック全体を作成できる AI を搭載したコード補完を利用できます。...
![](https://resources.jetbrains.com/help/img/rider/2024.1/Code_Generation__Implement_Override__quick-fix.png)
コード生成
JetBrains Rider は、定型コードを生成するさまざまな方法を提供します。例: 宣言されていないコードシンボルを使用し、これらのシンボルを用途に基づいて自動的に生成したり、型メンバーを生成したりすることができます。現在のファイルで設計時コードインスペクションが有効になっている場合、JetBrains Rider は足りないメンバーを検出し、足りないメンバーを実装するために対応するクイックフィックスを提案します。コンテキストアクションとコードテンプレートを使用すると、コードを生成するその...
![](https://resources.jetbrains.com/help/img/rider/2024.1/code_analysis_sample.png)
設計時にコードの問題を分析する
JetBrains Rider は、エディターでコードファイルを開くとすぐに、コードファイルが閉じられるまで分析を開始します。検出されたすべてのコードの問題は、重大度に応じてエディターでハイライトされます。問題のマップは、エディターウィンドウの右側のエラーストライプにも表示されます。ここでは、ファイルのステータスを即座に確認し、マークをクリックして特定のコードの問題に移動できます。デザインタイムインスペクションの機能:デザイン時のインスペクション機能は、Rider エディターの基本機能への主要...
![](https://resources.jetbrains.com/help/img/rider/2024.1/naming_style_quick_fix.png)
スコープを修正
ほとんどのクイックフィックスは、キャレットで現在の問題を修正できますが、中には (たとえば、未使用のディレクティブを削除する、フィールドを読み取り専用にする、冗長なキャストの除去など)、現在のファイル、現在のプロジェクト、ソリューション全体など、より大きな範囲で問題を自動的に見つけて修正できるものもあります。範囲内の修正を適用する:このような修正は、アクションリストの横に表示される小さな矢印で識別できます。範囲内の修正を適用する JetBrains Rider のインスペクションでハイライトされ...
![](https://resources.jetbrains.com/help/img/rider/2024.1/code_analysis_target_framework.png)
コードインスペクション設定を構成する
設計時コードインスペクションを構成する:デフォルトでは、JetBrains Rider はサポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかにかかわらず、コードインスペクションを特定の範囲でいつでも実行できます。「鉛筆」ウィジェットを使用して、エディターから直接インスペクション設定をすばやく調整するか、設定でより詳細な構成を行うことができます。を押すか、メニューから(W...
![](https://resources.jetbrains.com/help/img/rider/2024.1/settings_default.png)
レイヤーベースの設定
Rider 設定ダイアログでは、ページアイコンを見て、特定のページに使用されている設定管理メカニズムを確認できます。任意のアイコンでマークされていないページは、ユーザープロファイルに保存されている IDE 設定をホストします。レイヤーベースの設定は ReSharper と互換性があるため、ReSharper を使用している場合、チームメンバーのいずれかがそれを使用している場合、Rider は ReSharper で構成した設定を読み取って適用できます。「ソリューションパーソナル」および「ソリュ...