LoginSignup
20
10

More than 5 years have passed since last update.

Delphi IDE の便利な機能 - その他の支援機能

Last updated at Posted at 2019-04-17

コード補完の記事で触れましたが
支援機能には、コード補完の他にもいくつかの支援機能があります
オプションの支援機能の設定をみると
「コードパラメータ」「ツールチップ式評価」「シンボルインサイト」「ヘルプインサイト」「ブロック補完」「エラーインサイト」「コードテンプレート補完」
があります
これらの支援機能はデフォルトでオンになっています

実際にこれらがどのような機能なのかを簡単に説明します

コードパラメータ

メソッド (関数・procedure/function) 呼び出しの引数を表示します
メソッド名と左括弧 ( を入力する、または () 内にカーソルがある状態で Ctrl + Shift + Space を押すと、そのメソッドの引数が表示されます
メソッドの呼び出し形式が複数ある場合は、それらすべてが表示されます
insight01.png
引数をコード上に入力していくと、次のパラメータの箇所が太字になってくれて親切である
insight02.png

シンボルインサイト

これどんな定義だったけ?というときに便利な機能
コードエディタで、コード編集中に識別子の上にマウスカーソルを置くと宣言されている場所などを教えてくれる

以下は Button1 は TButton で定義されていて、その定義場所は同じユニットの 11 行目だぜ
クリックすると宣言場所に移動してくれるという例です
insight03.gif

ヘルプインサイト

コードエディタで、メソッドなどの上にマウスを置くと、簡単な説明ウィンドウが表示されるという機能
シンボルインサイト+コードパラメータ的な感じ
以下は MessageDlg に対するコードインサイト -> シンボルインサイト -> ヘルプインサイトの連携
insight04.gif

コードテンプレート補完

if, do, Case など予め形式が決まっている文などを挿入してくれる便利な機能
たとえば、if と書いて、tab キーを押すと if True then という一文を補完してくれて、カーソルは True のところでピコピコ
True の箇所は、if 文の条件を書くところなので、後は条件を書くのだ 親切なのだ
実際の例は、次のブロック補完と併せてお見せします

また、IDE のメニューから、表示 | ツールウィンドウ | テンプレート と選択すると、ツールパレットのところにテンプレートタブが追加されます
ここに、現在登録されているテンプレートの一覧が表示され、テンプレートの編集・追加・削除などを行うことができます
テンプレートタブを広げると、このようになってます
template.png

ブロック補完

Delphi で begin ブロックを開始したら、最後は end で閉じます
コードエディタ上で、ブロックを開始する用語を入力して Enter キーを押すと自動的にブロックを閉じる用語が挿入されます
begin - end, class - end などなど
支援機能の設定の画面では、「改行なし・改行を付ける・新規ブロックのみ」の選択もできます
blockInsigt.png

以下の例は if 文でコードテンプレート保管が行われ、その後 begin に対する end; がブロック補完で補完されるという例です
insight05.gif

ツールチップ評価

デバッグ中ブレイクポイントなどでプログラムの実行が停止しているときに、変数などの箇所にマウスポインタを置くと、現在の値が表示されるという便利な仕組み

以下の例では、チェックボックスにチェックが付いている (True)、付いていない (False) が表示されています
insight07.gif

エラーインサイト

無効なコードなどに赤い下線が付きます
マウスポインタを当てると、可能性のあるエラーの原因が表示されます

以下の例は、定義していない変数を if 文内に記述しているため error_ni_naru のところに赤い下線がつきます
error_ni_naru の箇所にマウスポインタを当てると「未定義の識別子 'error_ni_naru'」と表示されますので、あーこの変数、定義していないじゃーんと原因がわかるのです
insight06.gif

参考

20
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
10