コード エディタ
RAD Studio 入門 への移動
コード エディタは、IDE ウィンドウの中央のペインにあります。 コード エディタは、構文強調表示、複数取り消し機能、および言語要素の状況依存型ヘルプを備えたフル機能のカスタマイズ可能な UTF8 エディタです。
アプリケーションのユーザー インターフェイスを設計する際、RAD Studio によって基底のコードが生成されます。 オブジェクトのプロパティを変更すると、変更内容が自動的にソース ファイルに反映されます。
また、すべてのプログラムが同じ特性を共有するので、RAD Studio によって自動生成されたコードを使用して、すぐに作業を開始できます。 自動生成コードは、プログラムを作成するために検討できるアウトラインと考えることができます。
コード エディタのコンテキスト メニュー コマンドは、「コード エディタのコンテキスト メニュー」で説明します。
ビデオ『RAD Studio 2010 エディタ(英語)』(Mike Rozlog 解説)では、エディタ機能を理解するうえで有用なヒントや秘訣が紹介されています。
コード エディタは、コードの記述に役立つ次の機能を備えています。
目次 |
変更バー
コード エディタの左マージンに表示される緑色の変更バーは、現在の編集セッションで変更されていない行を示します。 黄色の変更バーは、最後の[ファイル|上書き保存]操作の後に変更が行われたことを示します。
変更バーの色(デフォルトの緑色と黄色)は、カスタマイズして別の色に変更できます。 [ツール|オプション...|環境オプション|[エディタ設定]オプション|色]をクリックします。
コードのインデント
Tab キーを使用すると、コード エディタの現在の行、またはコードのブロックをインデントできます。 Tab キーがインデントするスペースの数は、[ツール|オプション...|エディタ設定|ソース オプション]ダイアログ ボックスの [インデント幅]オプションによって決まります。
- コードのある行をインデントするには、その行の先頭にカーソルを置いて Tab キーを押します。
- コードのあるブロック全体をインデントするには、そのコード ブロックを強調表示させて Tab キーを押します。
- テキストを左側に移動("インデントを解除")するには、Shift + Tab キーを使います。
コードの整形
コード エディタで Delphi または C++ のコードを編集するときに、[ソースの整形]コンテキスト メニュー コマンド を適用してソース コードを整形できます。 [オプション]ダイアログ ボックス([ツール|オプション...])の[フォーマッタ]グループで、[インデント]、[スペース]、[改行]、および[大文字表記]各グループの[フォーマッタ]オプションを設定できます。 [ソースの整形]コマンドはコードの自動整形を実装することに注意してください。 これは、[オプション]ダイアログで設定されたフォーマッタ オプションしか考慮せず、コード エディタで実装された手動による整形を全面的に上書きしてしまいます。 たとえば、手動で挿入したコードのインデントを無視します。 コード ブロックを選択してから[ソースの整形]コマンドを呼び出すと、選択したブロックだけを整形できます。
ソース コードのフォーマッタは、ソース コードを最適な状態で表現するために使用されます。 プログラムの流れの分析、バグの検出、およびコードの表示に役立ちます。 バグの修正を繰り返している間に多くの変更をした後のソース コードは、通常、非常に見栄えが悪くなります。 それぞれのメソッドやブロックが独自のスタイルで整形され、インデントにさまざまなタブやスペースが混在します。 複数の作成者に使用された異なるサイズのタブ設定によって、インデントが、プログラムの構造を説明するのではなく、ユーザーを混乱させるだけという事実が生じます。 ソースを正しく整形すると、バグの迅速な発見やプログラム ロジックの理解が促進されます。
支援機能
支援機能は、コードの記述作業を支援するためにコード エディタに組み込まれている機能(コード パラメータ ヒント、コード ヒント、ヘルプ インサイト、コード補完、クラス補完、ブロック補完、コード参照など)のサブセットです。 これらの機能は、よくコードに挿入されるステートメントの正確な指定、プロパティやメソッドの選択などに役立ちます。 これらの機能の一部については、以下のセクションで詳しく説明します。
支援機能を呼び出すには、コード エディタの使用中に Ctrl + Space を押します。 ポップアップ ウィンドウに、現在のカーソル位置で有効なシンボルのリストが表示されます。
支援機能を有効にして、構成するには、[ツール|オプション...|エディタ設定]を選択し、[支援機能] をクリックします。
Delphi 言語を使用している場合、プロパティの read/write 句で参照されるインターフェイス メソッド宣言は、ポップアップ ウィンドウに表示されません。 このウィンドウには、インターフェイス型で宣言されているスタンドアロン メソッドとプロパティだけが表示されます。 支援機能は、uses 句のすべてのユニットに含まれる似た名前の定数に基づいて、WM_xxx、CM_xxx、および CN_xxx 形式のメッセージ メソッドをサポートします。
コード パラメータ ヒント
メソッド呼び出しの引数の名前と型をヒントとして表示します。 呼び出し(ShowMessage ( | ) など)のかっこの中で使用できます。
コード パラメータ ヒントを呼び出すには、Ctrl + Shift + Space を押します。
コード ヒント
シンボルの型、宣言元のファイルと行番号などの情報をヒントとして表示します。
コード ヒントを表示するには、コード エディタで作業中に、マウス ポインタをコード内の識別子の上に置きます。
メモ: コード ヒントは、ヘルプ インサイト機能が無効である場合にのみ Delphi で動作します。 ヘルプ インサイトを無効にするには、[ツール|オプション...|エディタ設定|支援機能]ダイアログ ボックスの[ヒント]をオフにします。
ヘルプ インサイト
シンボルの型、宣言元のファイルと行番号などの情報に加えて、シンボルに関連付けられている XML 文書(ある場合)もヒントとして表示します。
ヘルプ インサイトを呼び出すには、コード エディタで作業中に、マウス ポインタをコード内の識別子の上に置きます。 Ctrl + Shift + H を押して、ヘルプ インサイトを呼び出すこともできます。
コード補完
コード補完機能は、現在のカーソル位置で使用できるシンボルのドロップダウン リストを表示します。 特定の言語のコード補完を呼び出すには、次の方法を使用します。
- Delphi の場合
-
Ctrl + Spaceキーを押します(常にコード補完が起動されます)。 -
.を入力します ([ツール|オプション...|エディタ設定|支援機能]ページの[コード補完]がオンの場合にのみ有効です)。
-
- C++ の場合
-
Ctrl + Spaceキーを押します(常にコード補完が起動されます)。 -
.または->を入力します([ツール|オプション...|エディタ設定|支援機能]ページの[コード補完]がオンの場合にのみ有効です)。
-
コード補完をキャンセルするには、Esc キーを押します。
クラス補完
クラス補完は、宣言されるクラス メンバのスケルトン コードを生成することで、新規クラスの定義と実装を簡略化します。 ユニットの interface セクションにあるクラス宣言内にカーソルを置き、Ctrl + Shift + C を押すと、すべての未完成のプロパティ宣言が補完されます。 実装が必要なすべてのメソッドに対して、空のメソッドが implementation セクションに追加されます。 クラス補完は、コード エディタのコンテキスト メニューの[カーソル位置のクラスを補完]コマンドにもあります。
ブロック補完
コード エディタで作業中に、正しく閉じられていないコード ブロックがある場合は、そこで Enter キーを押すと、現在のカーソル位置の後の空行にブロックを閉じるためのトークンが挿入されます。 たとえば、Delphi 言語でコード エディタを使用している場合、トークン begin を入力し、Enter キーを押すと、 begin end になるように自動的にステートメントが補完されます。 この機能は C++ 言語でも同様に動作します。
コード参照(Ctrl + クリック)
コード エディタを使用して VCL フォーム アプリケーションなどのアプリケーションを編集中に、Ctrl + クリックすると、ある識別子を定義しているコードに、自動的に "ジャンプ" できます。 コードを参照するには、任意のクラス、変数、プロパティ、メソッドなどの識別子の名前の上にマウス ポインタを移動させ、Ctrl キーを押します。 マウス ポインタが手の形になり、識別子が下線付きで強調表示されてから、その識別子をクリックすると、コード エディタがその識別子の宣言にジャンプし、必要に応じてソース ファイルを開きます。
識別子を右クリックしてコンテキスト メニューの[定義の検索]をクリックしても、同じことができます。
コード参照で検索して開くことができるのは、プロジェクトの検索パスおよびグローバル参照パスにあるユニットだけです。 次の順番でディレクトリが検索されます。
- プロジェクト指定の Delphi の[検索パス]([プロジェクト|オプション...|Delphi コンパイラ])、または C++ の[インクルード ファイル検索パス]([プロジェクト|オプション...|ディレクトリと条件定義])のいずれか。
- グローバルな[ブラウザ検索パス](Delphiの場合:[ツール|オプション...|環境オプション|Delphi オプション|ライブラリ - Win32]、C++ の場合:[ツール|オプション...|環境オプション|C++ オプション|パスとディレクトリ])
コード ナビゲーション
以下のセクションでは、コード エディタの使用中にコード内を移動するための機能について説明します。
メソッド間の移動
エディタのホットキーを使用して、メソッド間を移動できます。 メソッド間の移動を現在のクラス内のメソッドに制限することもできます。 たとえば、クラス内制限を有効にし、TComponent のメソッドの 1 つにいる場合は、TComponent のメソッド間でのみ移動が行われます。
メソッド間の移動に使用するキーボード ショートカットは次のとおりです。
- Ctrl + Q^L - クラス内制限のオン/オフ
- Ctrl + Alt +↑ - 現在のメソッドの先頭または前のメソッドに移動
- Ctrl + Alt +↓ - 次のメソッドに移動
- Ctrl + Alt + Home - ソース内の最初のメソッド
- Ctrl + Alt + End - ソース内の最後のメソッド
- Ctrl + Alt + マウスホイール - メソッド間のスクロール移動
クラスの検索
クラスを検索できます。 [検索|クラスの検索...]コマンドを使用して、選択できるクラスのリストを表示します。 クラスを選択すると、そのクラスの宣言に移動します。
ユニットの検索
Delphi 言語のプログラミング中に、名前空間またはユニットを検索するリファクタリング機能を使用できます。 [ユニットの検索...]コマンドを使用して、ユニットを検索し、コード ファイルに追加できます。
ライブ テンプレート
ライブ テンプレートは、記述済みコードの辞典として使用できます。このコードをコード エディタの使用中にプログラムに挿入できます。 これにより、入力が必要な作業量を削減できます。
ライブ テンプレートの作成と使用については、このトピックの最後にあるリンクを参照してください。
コードの折りたたみ
コードの折りたたみでは、コードの領域(ブロック)を折りたたんだり、展開できます。 コードを折りたたむと、コードが階層構造で表示され、判読やナビゲーションが容易になります。 折りたたまれたコードは削除されたのではなく、展開するまで非表示になるだけです。 コードの折りたたみはデフォルトでオンになっています。
コードの折りたたみを使用するには、コード エディタの左端にあるプラス記号([+])およびマイナス記号([-])を使用します。
- プラス記号([+])をクリックすると、関連するコードの領域が展開されます。
- マイナス記号([-])をクリックすると、関連するコードの領域が折りたたまれます。
コードの折りたたみを有効または無効にするには:
- [ツール|オプション...|[エディタ設定]オプション]ダイアログ ボックスの[コードの折りたたみ]チェックボックスを使用します。
- キーボード ショートカットの Ctrl + Shift + K + O を使用します。
コードの折りたたみ領域の作成方法など、コードの折りたたみの詳細は、「コードを折りたたむ」を参照してください。
リファクタリング
リファクタリングは、コードの外部機能を変更せずにコードを改善する処理です。 たとえば、メソッドの抽出リファクタリングを使用すれば、選択したコード フラグメントをメソッドに変更できます。 IDE は、抽出されたコードを現在のメソッドの外に移動し、必要なパラメータを決め、必要であればローカル変数を生成します。また、戻り値の型を決め、元のコードを新しいメソッドの呼び出しに置き換えます。 その他にも、シンボル名の変更、変数の宣言などのリファクタリング メソッドを使用できます。
同期編集
2010 用のビデオが閲覧できるようになりました:ビデオ:『RAD Studio の同期編集機能について(Sync Editing in RAD Studio 2010)』(Mike Rozlog 解説)
同期編集機能を使用すると、コード内の同一の識別子を同時に編集できます。 最初の識別子を変更すると、同じ変更が自動的に残りの識別子にも適用されます。 また、ジャンプ ポイントを設定して、コード内の特定のセクションに移動することもできます。
To-Do リスト
To-Do リストは、プロジェクトで完了する必要があるタスクを記録します。 To-Do リストに追加されたタスクは、編集したり、コードにコメントとして追加したり、完了したことを示すようにマークしたり、リストから削除したりすることができます。 フィルタを設定して、目的のタスクだけをリストに表示することもできます。
キー入力マクロ
コードの編集中に、一連のキー入力をマクロとして記録できます。 記録したマクロを再生すると、キー入力を現在の IDE セッションで再利用できます。 マクロを記録すると、前に記録したマクロが上書きされます。
しおり
しおりは、長いファイル内の移動に便利です。 コード内の任意の場所にしおり(ブックマーク)を付けて、ファイル内のどこからでもその場所にジャンプできます。
しおりを設定すると、コード エディタの左マージンに、本のアイコン(
) が表示されます。 1 つのファイルで、0 番(
)から 9 番(
)までの 10 個のしおりを使用できます。
コード エディタのマージンでしおりアイコンをドラッグ アンド ドロップできます。移動先のしおりは、元のしおり番号が保持されます。
ブロック コメント
コード エディタでコードを選択し、Ctrl + /(スラッシュ)を押せば、コード セクションをコメントアウトできます。 選択したコードの各行の先頭には // が付けられ、コンパイラはこの行を無視します。 コードの 1 行目の先頭に // が付いている場合は、Ctrl + / を押すと、スラッシュが削除されます。 Visual Studio または Visual Basic のキー マップを使用する場合は、Ctrl + K + C を使ってコメントのスラッシュを追加または削除します。