コード補完

提供: RAD Studio
移動先: 案内検索

RAD Studio 入門 への移動


コード補完(Ctrl+Space)は、コード エディタから利用可能な支援機能機能で、容易にコードが完成させられるよう支援します。

コード補完により、サイズ変更可能な "ヒント" ウィンドウが表示され、そこに、コードに追加するための選択肢となる有効な要素が一覧表示されます。 ヒント ウィンドウでは、テキストが入力されるに従い、その文字とシンボルの最初からの文字が一致するものが一覧表示されます。

また、コード補完のヒント ウィンドウ内を右クリックして[名前順]または[スコープ順]を選択することで、ヒント ウィンドウ内の項目の並べ替えを制御できます。

コード補完リストには、さまざまな項目がさまざまな色と書式で表示されます。 たとえば、デフォルトでは:

  • キーワードは濃い青
  • プロシージャ、関数、プロパティの名前は黒の太字
  • フィルタリングの際、一致する文字は下線付きで表示される(これはオフにできます)

コード補完の起動

自動コード補完はデフォルトでオンであり、コード補完 を有効/無効にするオプションは、 [ツール|オプション...|ユーザー インターフェイス|エディタ設定|言語]にあり、支援機能 オプションをクリックします。

  • [コード補完]の[自動起動]が有効になっている場合は、ピリオド(.)を入力すると、Delphi と C++ の両方についてコード補完が起動されます。
  • Delphi や C++ でコード補完機能を起動させるための Ctrl+Space は、たとえ [自動起動]オプションが[支援機能]で無効になっていても、いつでも使用できます。
  • [待ち時間]オプションが[支援機能]で設定されている場合は、コード補完が起動する前に、待ち時間タイマーが実行されます。

macOS で C++ のコード補完を使用するには初回にコンパイルする必要あり: コード補完を使用するには、macOS ターゲット プラットフォーム向けの C++ デスクトップ プロジェクトを少なくとも 1 回はコンパイルしている必要があります。 プロジェクトをコンパイルする前に、お使いの環境が、「macOS 用の開発環境のセットアップ」で説明している要件をすべて満たしていることを確認します。

プロジェクトをコンパイルする際、RAD Studio はプリコンパイル済みヘッダー ファイルmyProject.pch など)が C:\Users\<user>\Documents\Embarcadero\Studio\Projects\OSX32 フォルダに作成されます。projectname.pch ファイルを誤って削除した場合、プロジェクトを再度コンパイルするまでは、プロジェクトにコード補完は使用できません。

コード補完ウィンドウ

このセクションでは、短いコード ブロックのコード補完ウィンドウについて説明します。たとえば、一連のボタンがあるとしましょう。

var
  GViewButtons: TObjectList<TToolButton>;

アプリケーションでは、この一連のボタンを for ループで 1 つずつ処理する必要がありますが、ボタンの数がわからないとします。この場合、コード ブロックは次のようになります。

begin
  { ... }

  if Assigned(GViewButtons) then
    for I := 0 to GViewButtons. - 1 do
    begin
      { something }
    end;

  { ... }
end;

GViewButtons 文の後の .(ピリオド文字)の次にカーソルを移動し、Ctrl+Space キーを押します。次のようなコード補完ウィンドウが表示されます。

CodeCOmpletionWindow10.4.1.png

ヒント: 標準ウィンドウの通常のサイズ変更と同じように右下隅をマウスでドラッグすることで、コード補完ウィンドウのサイズを変更できます。

Count プロパティを見つけ、Enter キーを押します。コードは以下のように補完されます。

begin
  { ... }

  if Assigned(GViewButtons) then
    for I := 0 to GViewButtons.Count - 1 do
    begin
      { something }
    end;

  { ... }
end;

コード補完の使用

IDE でコード補完を使用するには、特に次のような方法があります。

  • クラスで利用可能なプロパティ、メソッド、およびイベントを表示するには、クラスのインスタンス、またはクラスのインスタンスへのポインタを表す変数名の後で、Ctrl+Space を押します。
  • ポインタ型に対してコード補完を起動するには、まず、そのポインタを逆参照する必要があります。以下に例を示します。
    • C++ の場合は次のように入力します。this->
    • Delphi の場合は次のように入力します。Self.
  • オブジェクトへのポインタに対して矢印(->)を入力します。
  • また、非ポインタ型の名前の後にピリオド(.)を入力すると、継承された仮想プロパティ、メソッド、およびイベントのリストを参照できます。以下に例を示します。
    • C++ の場合は次のように入力します。TRect test;test.
    • Delphi の場合は次のように入力します。var test: TRect; begin test.
  • 代入演算子や代入文の開始部分を入力して、Ctrl+Space を押すと、その変数に代入可能な値のリストが表示されます。
  • Delphi の uses 句や C++ の #include 文で、ユニットやファイルをコード補完することができます。現在提供されるリストには、想定されるファイルやユニットがすべて入っているとは限らない点に注意してください:
    • Delphi では、uses 句の内部で、最後のユニットの後にカンマを追加し、Ctrl+Space を押します。名前を入力していくことで、ユニットをフィルタリングできます。
    • C++ では、"#include<" と入力し、Ctrl+Space を押すと、認識されているヘッダーが表示されます。名前を入力していくことで、ヘッダーをフィルタリングできます。
  • C++ の場合は、スコープ演算子(::)を入力します。
  • 手続き、関数、またはメソッド呼び出しを入力して、Ctrl+Space を押すと、入力した変数への代入に有効な引数のリストが表示されます。後に省略記号([...])が付加された項目を選択すると、その代入文に入力された変数と互換性のある関連引数の 2 次リストが表示されます。
  • レコード(Delphi の場合)または構造体(C++ の場合)を入力すると、フィールドのリストが表示されます。
  • 配列のプロパティ(純粋な配列ではない)を入力して、Ctrl+Space を押すと、インデックス式が表示されます。
  • C++ では、空のコード行で Ctrl+Space を押すと、その他の RTL ユニットのシンボル(現在のユニットで使われていないシンボルも含む)が表示されます。
  • Delphi では、[予約語を表示]ツール > オプション... > エディタ設定 > コード インサイト からのダイアログ ボックス)が有効に設定されている場合、予約語がコード補完ウィンドウに現れます。 表示される語は、コード補完を起動したときのコンテキストによって決まります。 Delphi 予約語の最新リストについては、『Delphi 言語ガイド』(基本的な構文要素-予約語)から参照してください。

コード補完のキャンセルまたはコード補完ウィンドウの終了

コード補完を起動すると、カーソルが砂時計になり、IDE が要求処理中であることを示します。

  • 要求が完了する前にコード補完要求をキャンセルするには、Esc キーを押します。
  • コード補完ウィンドウを終了するには、Esc キーを押します(または単純に他の場所をクリックします)。

宣言の参照

コード補完ウィンドウが表示されているときに、Ctrl キーを押したまま、リスト内の任意の識別子をクリックすると、その宣言を参照できます。

また、コード エディタで識別子の上にマウス ポインタを置くと、その識別子が宣言されている場所がヒント ウィンドウに表示されます。Ctrl キーを押しながらコード内の識別子をポイントし(デフォルトでは、この操作によって青い下線が表示され、カーソルが手の形のポインタに変化します)、(マウスで)クリックすると、その宣言に移動できます。

メモ: 支援機能は、コンパイル ユニットでのみ動作します。 コード補完機能は、<spanuses 句のすべてのユニットに含まれる類似の名前の定数に基づいて、WM_xxx、CM_xxx、および CN_xxx 形式のメッセージ メソッドをサポートします。
メモ:

C++ クラシック コンパイラ を使用している場合は、アプリケーションが既にビルド済み、かつ、プリコンパイル済みヘッダーが作成されている場合に、コード補完機能が最もうまく機能します。 それ以外の場合は、コンパイラが必要な情報を生成するまで待つ必要があります。 [PCH Usage] オプション([プロジェクト|オプション...|C++ コンパイラ|プリコンパイル済みヘッダー] ダイアログ ボックス)を設定することが推奨されます。 [生成し使用する]を選択します。

[C++ Clang コンパイラ]の使用時、支援機能は、各 C++ ファイルをスタンド アロンでコンパイルします。プリコンパイル済みヘッダー PCH は使用しません。コード補完には、使用するものをインクルードした整形済み C++ コードが必要です。ユニットが、PCH に依存する代わりに依存しているすべてのヘッダーをインクルードしていない場合、非間接インクルードが発生し、支援機能はユニットの解析に失敗し、コード補完の結果を提供できません。この問題を解決するには、ファイルの一番上から開始した、エラー インサイトの結果をレビューします。エラーに従い、必要と指示されたファイルをインクルードし、C++ コードを改善します。

関連項目