構文スタイル
コードスタイルの側面の 1 つは、互換性のある言語構文構造を使用する方法です。例: 以下の 2 つのメソッド定義は、コンパイラーの観点からは同じですが、構文構造の選択により、それらは異なって見えます。
[Conditional("DEBUG")]
[Test]
static public void Foo(String str)
{
foreach (Char ch in str)
{
System.Console.WriteLine(value: ch);
}
}
|
[Test, Conditional("DEBUG")]
public static void Foo(string str)
{
foreach (var ch in str)
Console.WriteLine(ch);
}
|
コード構文スタイルを構成する
ReSharper の使用を開始すると、デフォルト設定が参照され、コードベース全体で互換性のある構文構造が一貫して使用されるようになります。ただし、それぞれの好みを好みに合わせて設定することができます。コード構文スタイルを設定する方法は 2 つあります。
ReSharper オプション Alt+R, O の ページで設定を構成します。これらの変更は階層化設定のメカニズムを使用して保存されるため、すべてのプロジェクトのローカルマシンに適用したり、チームメイトと共有したりできます。
ReSharper カスタム EditorConfig コードスタイルのプロパティを使用して、EditorConfig ファイルで設定を指定します。これにより、チーム全体で一貫したコードスタイルを使用することもできます。
.editorconfig ファイルで指定された設定は、ReSharper 設定で保存された設定を上書きすることに注意してください。
選択したコードのコード構文スタイルルールを構成する
設定ページを掘り下げる代わりに、コードのブロックを選択し、そのブロックに適用できるコード構文スタイルのルールのみを構成できます。変更された設定が、エディターで選択したブロックのコードにどのように影響するかを確認できます。
エディターで、構文スタイルをコーディングするコードのブロックを選択します。
Alt+Enter を押して、
を選択します。開いたダイアログに、選択したコードブロックに影響を与えるすべての構文スタイルとフォーマット規則が表示されます。コードブロック自体は点線のフレームで囲まれます。
コード構文スタイルルールを変更すると、それらが選択したブロックのコードにどのように影響するかがわかります。
ダイアログで保存をクリックして変更を適用し、ReSharper に変更を保存する場所を選択させるか、保存先セレクターからこのレイヤーを選択して特定の設定レイヤーに変更を保存します。詳細については、「resharper 設定の管理と共有」を参照してください。
保存先セレクターで .editorconfig を選択して、構成されたコード構文スタイルルールを EditorConfig にエクスポートすることも選択できることに注意してください。
必要に応じて、「コメントとして保存」をクリックします。こうすることで、変更内容は選択したブロックの前後にコメントとして保存されます。これにより、設定を変更せずに、必要なコード構文スタイルのルールをローカルでオーバーライドできます。
ReSharper はダイアログを閉じ、変更されたコード構文スタイルのルールをコードブロックに適用します。
既存のコードからコード構文スタイルのルールを学ぶ
個々のコード構文スタイルの設定を微調整する別の方法は、既存のコードサンプルからコード構文スタイルのルールを学習することです。これは、選択したブロック、現在のファイル、ファイルのセット、1 つ以上のプロジェクト、ソリューション全体です。ReSharper は、選択したサンプルを分析し、現在の設定とは異なるコード構文スタイルのルールを一覧表示します。その後、検出されたルールを確認し、必要に応じて変更し、目的の設定レイヤーまたは .editorconfig または .clang-format 形式の構成ファイルに保存できます。
コード構文スタイル設定を分析するスコープを選択します。
エディターで選択を行い、選択範囲のコード構文スタイル設定を分析します。
ファイル内のコード構文スタイル設定を分析するには、ファイル内の任意の場所にキャレットを配置します。
以下のいずれか 1 つを実行します:
メインメニューから
を選択します。コードサンプルが選択項目の場合は、Alt+Enter を押して
を選択します。
現在の設定と異なる規則を確認してください。
ダイアログで保存をクリックして変更を適用し、ReSharper に変更を保存する場所を選択させるか、保存先セレクターからこのレイヤーを選択して特定の設定レイヤーに変更を保存します。詳細については、「resharper 設定の管理と共有」を参照してください。
コードサンプルが選択されている場合は、必要に応じてコメントとして保存をクリックします。こうすることで、変更内容は選択したブロックの前後にコメントとして保存されます。これにより、設定を変更せずに、必要なコード構文スタイルのルールをローカルでオーバーライドできます。
コードインスペクションを使用してコード構文スタイルを確認および修正する
ReSharper は、コード構文スタイルに準拠しているかどうかコードをチェックし、スタイルが違反している場所をクイックフィックスに提案する多数のコードインスペクションを提供します(たとえば、修飾子の順序が設定と異なる場合)。
ソリューション全体に至るまで、目的のスコープ内のすべてのコード構文スタイルの問題を確認する必要がある場合は、このスコープでコードインスペクションを実行できます。分析が終了したら、問題のカテゴリごとに結果をグループ化し、問題の場所と場所を確認します。
すべてのコード構文スタイルインスペクションは構成可能であり、不要なものを無効にすることができます。
コード構文スタイルインスペクションのリストを調べて、それらすべてを一度に構成することもできます。これを行うには 2 つの方法があります。
ReSharper オプション Alt+R, O の ページで、右側の列にあるセレクターを使用して、無効にするインスペクションの表示しないを選択します。
このオプションページでは、各コード構文スタイルルールの設定を変更することもできます。
ReSharper オプション Alt+R, O の ページで、 グループ内のコード構文スタイルインスペクションを見つけて、無効にするものの横にあるチェックボックスをオフにします。
コードのクリーンアップでコード構文スタイルを適用する
目的のスコープにコード構文スタイルを適用するには、コードクリーンアップを使用することもできます。組み込みプロファイルフルクリーンアップまたは再フォーマットして構文スタイルを適用のいずれかを使用してコードクリーンアップを実行するか、コード構文スタイルルールの目的のサブセットを使用してカスタムプロファイルを作成して実行することができます。
C# および C++ のコード構文スタイルの追加アクション
C# では、ReSharper は、コード構文スタイルを適用するための専用アクション Control+Alt+S (
)を提供します。C# コード構文スタイルを既存のコードに適用する
構文スタイル設定を適用するスコープを選択します。
エディターで選択を行い、選択に構文スタイルの設定を適用します。
ファイル内の任意の場所にキャレットを配置して、ファイル内の構文スタイル設定を適用します。
ソリューションエクスプローラーで 1 つ以上のアイテムを選択して、これらのアイテムとその子アイテムのファイルに構文スタイルの設定を適用します。
Control+Alt+S を押すか、メインメニューから
を選択します。または、Control+Shift+A を押して、ポップアップにコマンド名を入力し、そこで選択することもできます。
現在の選択範囲に対応するコンテキストアクションを使用して、コード構文スタイルを適用することもできます。
現在の選択にコード構文スタイルを適用する
エディターで、コード構文スタイルを適用するコードブロックを選択します。
Alt+Enter を押して、
を選択します。
異なる言語での適用性
ReSharper のコード構文スタイル機能のほとんどは、C# と Visual Basic で利用できます。一部は複数の言語で利用でき、その他は言語固有です。以下の表は、すべてのコード構文スタイルの機能と、それらがサポートされている言語 / テクノロジを示しています。
このセクション内のトピックに示されている手順と例では、C# のコード構文スタイル機能の使用について説明します。特定の言語で使用できるコード構文スタイル機能の詳細については、言語別 ReSharper セクションの対応するトピックを参照してください。
関連ページ:
フォーマットルールを適用する
編集および貼り付けられたコードの自動フォーマット:エディターでコードを入力すると、セミコロンを入力するとすぐに ReSharper によって式が再フォーマットされ、閉じ括弧を入力するとすぐにコードブロックが再フォーマットされます必要に応じて、ReSharper オプション Alt+R, O のページでこれらの種類の自動フォーマットを無効にすることができます。ReSharper では、コードを貼り付けるときにフォーマットルールを自動的に適用することもできます。デフォルトでは、貼り付けられたコードは完...
ReSharper 設定の管理と共有
ReSharper は、階層化された設定のメカニズムを使用して環境設定を保存するため、次の利点があります。さまざまなソリューションで異なる設定を行うことができます。環境設定のさまざまなサブセットを別の場所に保存し、特定のソリューションで作業するときに環境設定を組み合わせることができます。例: 記号のアイコンとチーム設定のコード形式を個人設定で保存し、これらの設定を自動的に組み合わせることができます。設定の特定のサブセットを VCS に保持することにより、チーム内の設定を同期できます。ReShar...
C# の EditorConfig プロパティ: 構文スタイル
このページには、コード構文スタイルルールの構成に使用できるカスタム ReSharperEditorConfig プロパティがリストされています。一部のプロパティは 1 つの言語に適用され、他のプロパティは一度に複数の言語に適用されることに注意してください。ただし、各多言語プロパティには、特定の言語に対してそれをオーバーライドできるプロパティがあります (例: および)。宣言における 'var' の使用箇所:ビルトインタイプの場合プロパティ名:, 使用可能な値:: 'var' を使う、: 明確な場合...
EditorConfig を使用する
ReSharper は、EditorConfig 形式で定義されたコード形式スタイル、コード構文スタイル、C# の命名スタイル、コードインスペクション重大度レベルをサポートします。Matthell は、ReSharper が EditorConfig を使用してフォーマットルールの設定全体をどのように維持するのをヘルプいるかを示しています。EditorConfig とは何ですか? ReSharper はどのようにそれを拡張しますか? :EditorConfig は、同じコードで作業しているチームメ...
フォーマットルールを構成する
フォーマットルールは非常に高いレベルの詳細に設定できます。例: 特定の演算子の周囲に空白を配置するか、入れ子になった文をインデントするかを定義できます。オプションでコードフォーマットルールを構成するメインメニューからを選択するか、Alt+R O を押します。ページを使用して、すべての言語で適用されるオプションを確認し、設定します。ページを使用して、言語固有のフォーマットを構成します。これらのページでは、下部にあるプレビュー領域を使用して、ReSharper がコードに特定の設定を適用する方法を表示...
Clang 形式の使用
C++ ファイル (および部分的に JavaScript および TypeScript ファイル) では、ReSharper は Clang 形式で定義されたフォーマットスタイルをサポートします。デフォルトでは、Clang-Format 構成ファイルは、フォーマットスタイル設定のソースとして自動的に使用されます。Clang フォーマットとは何ですか ? ReSharper はどのようにサポートしていますか ?:Clang-Format は、広く使用されている C++ コードフォーマッタです。YAM...