ReSharper 2024.1 ヘルプ

C++ のインレイヒント

パラメーター名ヒント

パラメーター名のヒントは、メソッド呼び出しで対応する引数の横にパラメーター名を表示するエディターの装飾です。これらは、関数呼び出しと集計の初期化でパラメーターの長い(場合によってはネストされた)リストを見つけるのに役立ちます。

以下の例では、パラメーター名のヒントは、高さと幅の引数が混在しているという事実を見つけるのに役立ちます。

ReSharper C++: parameter name hints

パラメーター名のヒントは、初期化するメンバーの名前を示し、C++17 以降の複雑な集約の初期化を解くのに役立ちます。

ReSharper C++: parameter name hints in aggregate initialization

パラメーター名のヒントは、依存コードでも使用できます。

ReSharper C++: parameter name hints in dependent code

名前空間の名前のヒント

LLVM(英語) または Google(英語) のガイドラインに従っていない場合、ネームスペース定義の最後にあるネームスペース名のヒントは、括弧を閉じるネームスペースの後にコメントにネームスペースを追加することを推奨している場合に役立ちます。

ReSharper: Inlay hints. Namespaces.

プリプロセッサーディレクティブヒント

プリプロセッサーディレクティブヒントは、条件付き包含(#ifdef#ifndef#if#endif#else#elif)がマクロ定義にどのように対応するかをすばやく理解できます。

ReSharper: Preprocessor directive hints in C++

型名のヒント

型名のヒントは、コンパイラーが周囲のコードから自動的に型を推測するときに役立ちます。ReSharper は、構造化バインディング、依存コード、関数呼び出し後の自動変数、関数およびラムダ戻り値の型名のヒントを提供します。

自動変数

この種のヒントは、auto または decltype(auto) 型指定子を使用する、型が自動的に推定される変数で使用できます。デフォルトでは、初期化子がコンストラクター呼び出し、定数、明示的なキャストである場合など、推定された型が初期化子式から明らかな場合、ヒントは非表示になります。

ReSharper C++: type name hints for auto variables

関数とラムダの戻り値の型

関数とラムダの戻り値の型は、コードで省略されている場合、return ステートメントから自動的に推測できます。

ReSharper C++: type name hints for function and lambda return types

構造化バインディング

C++17 の構造化バインディング宣言では、構造化バインディングのタイプを明示的に指定できないため、型ヒントが特に役立ちます。

ReSharper C++: type name hints for structured bindings

依存コード

型ヒントは依存コードにも機能しますが、パフォーマンスに影響を与える可能性があることに注意してください。この場合、ReSharper オプション Alt+R, O環境 | インレイヒント | C++ | タイプ名のヒントページで依存コードヒントを無効にします。

ReSharper C++: type name hints for dependent code

関数呼び出し

デフォルト設定では、この種の型ヒントは、複数行のチェーンメンバー関数が呼び出された後にのみ表示されます。

ReSharper C++: type name hints for functions calls

型変換のヒント

型変換のヒントは、非表示の暗黙的な変換を表示できます。これにより、潜在的なパフォーマンスと正確性への影響を認識できます。

ReSharper は、オブジェクトのコピー、変換コンストラクターまたは集計初期化を使用したオブジェクトの初期化、変換演算子の呼び出しなど、さまざまな種類のクラス型変換のヒントを表示します。

Type conversion hints for class type conversions

組み込み型間の標準変換のヒントを有効にすることもできます。たとえば、精度を失ったり、型の符号を変更したりする可能性のある数値型間の変換などです。

Type conversion hints for standard conversions

ヒントには詳細な構成オプションがあります

関連ページ:

Clang-Tidy インテグレーション

Clang-Tidy は、一般的な Clang コンパイラーに基づいた強力なオープンソースコード解析ツールです。典型的なプログラミングエラーのための広範な一連のコードチェックとそれに伴う修正が付属しています。ReSharper は、Clang-Tidy とのシームレスな統合を提供します。これは、ファイルを編集すると、ReSharper が別のプロセスとしてバックグラウンドで Clang-Tidy を実行し、インスペクションの結果が他の ReSharper のインスペクションと一緒に表示されることを意...

インレイヒント

インレイヒントは、コードの読みやすさを向上させる構成可能なエディターの装飾です。プッシュツーヒントモード:インレイヒントは役立つ場合がありますが、一方で、エディタースペースを取り、場合によっては冗長に見えることがあります。プッシュツーヒントモード(デフォルトで有効になっている)を使用できます。ヒントを非表示にして、Ctrl キーを押したままにすることで必要な場合にのみヒントを表示できます。このモードでは、Ctrl を 2 回押して、現在のエディタータブのヒントを切り替えることもできます。インレイヒ...

コード階層

コード分析に加えて、ReSharper のコード分析では、階層を構築してメンバーを調査でき、チェーンを呼び出し、チェーンに値を渡します。呼び出し階層:呼び出し階層は、関数の呼び出し元(スーパータイプ)または呼び出し先(サブタイプ)を表示します。受信コールを調べるには、任意の機能にカーソルを置きます。次に、メインメニューからを選択するか、を押して、これを調べるリストから受信コールを選択します。発信呼び出しを調べるには、任意の関数にカーソルを置きます。次に、メインメニューからを選択するか、を押

インクルードの分析

インクルードの巨大な階層によって引き起こされる長いビルド時間は、実際の大規模な C++ プロジェクトにおける最大の問題の 1 つです。ReSharper には、設計時のインクルードの最適化に役立ついくつかの機能があります。例: 未使用のディレクティブをマークするか、必要な宣言にヘッダーを含める代わりに、未解決の名前の前方宣言を自動的に作成します。階層的な問題をより体系的に解決するために、ReSharper は不要なヘッダーの依存関係を見つけて排除するコードインスペクションツールアナライザーを含むを...