コード エディタ

提供: Appmethod Topics
移動先: 案内検索

コード エディタと IDE を使用する への移動

コード エディタフォーム デザイナ は、IDE ウィンドウの中央のペインにあります。コード エディタは、構文強調表示、複数取り消し機能、および言語要素の状況依存型ヘルプを備えたフル機能のカスタマイズ可能な UTF8 エディタです。

アプリケーションのユーザー インターフェイスを設計する際、Appmethod によって基底のコードが生成されます。オブジェクトのプロパティを変更すると、変更内容が自動的にソース ファイルに反映されます。

また、すべてのプログラムが同じ特性を共有するので、Appmethod によって自動生成されたコードを使用して、すぐに作業を開始できます。自動生成コードは、プログラムを作成するために検討できるアウトラインと考えることができます。

コード エディタのコンテキスト メニューでは、コード エディタコンテキスト メニュー コマンドについて説明しています。

コード エディタは、コードの記述に役立つ次の機能を備えています。

変更バー

コード エディタ の左マージンに表示される緑色の変更バーは、現在の編集セッションで変更されていない行を示します。黄色の変更バーは、最後の[ファイル|保存]操作以降に行われた変更を示します。

ただし、この変更バーの色(デフォルトの緑色と黄色)は、カスタマイズして別の色に変更できます。[ツール|オプション...|エディタ設定|を選択します。[要素]ドロップダウン メニューで、[変更された行]を選択してから、前景色や背景色を変更します。

コードのインデント

Tab キーを使用すると、コード エディタの現在の行、またはコードのブロックをインデントできます。Tab キーがインデントするスペースの数は、[ツール|オプション...|エディタ設定|ソース オプション] ダイアログ ボックスの[インデント幅]オプションで決まります。

  • コードのある行をインデントするには、その行の先頭にカーソルを置いて Tab キーを押します。
  • コードのあるブロック全体をインデントするには、そのコード ブロックを強調表示させて Tab キーを押します。
  • テキストを左側に移動("インデントを解除")するには、Shift+Tab キーを使います。

コードの整形

Appmethod には、カスタマイズ可能なソース コード フォーマッタが備わっています。コード エディタでコードを編集しているときに、[ソースの整形]コンテキスト メニュー コマンド(または[編集|ソースの整形]メニュー コマンド)を使用して、ソース コードを整形することができます。[インデント][スペース][改行][大文字表記][整列]の整形オプションは、[オプション]ダイアログ ボックスの[フォーマッタ]グループ([ツール|オプション...|フォーマッタ])で設定することができます。[ソースの整形]コマンドはコードを自動で整形することに注意してください。[オプション]ダイアログ ボックスで指定された整形オプションだけが考慮され、コード エディタで手動で実行した整形の結果はすべて上書きされます。たとえば、手動で挿入したコードのインデントは無視されます。 コード ブロックを選択してから[ソースの整形]コマンドを呼び出すと、選択したブロックだけを整形できます。

メモ:ツール オプションの[エディタ設定]ページでは、さらなるコード整形オプションを提供しています。これには、ソース オプション表示キーの割り当て支援機能などがあります。「コード エディタをカスタマイズする」を参照してください。

支援機能

支援機能とは、コード エディタに組み込まれている機能の一部で、コード パラメータ ヒント、コード ヒント、ヘルプ インサイト、コード補完、クラス補完、ブロック補完、コード参照など、コーディング作業に役立つものを指します。これらの機能は、コードによく挿入されるステートメントの特定、プロパティやメソッドの選択などに役立ちます。これらの機能の一部について、以下の各セクションで詳しく説明します。

支援機能 を呼び出すには、コード エディタ の使用中に Ctrl+Space を押します。ポップアップ ウィンドウに、現在のカーソル位置で有効なシンボルのリストが表示されます。

支援機能を有効にして、構成するには、[ツール|オプション...|エディタ設定]を選択し、[支援機能]をクリックします。

Object Pascal 言語を使用している場合、プロパティの read/write 句で参照されるインターフェイス メソッド宣言は、ポップアップ ウィンドウに表示されません。このウィンドウには、インターフェイス型で宣言されているスタンドアロン メソッドとプロパティだけが表示されます。支援機能は、uses 句のすべてのユニットに含まれる似た名前の定数に基づいて、WM_xxx、CM_xxx、および CN_xxx 形式のメッセージ メソッドをサポートします。

コード パラメータ ヒント

メソッド呼び出しの引数の名前と型をヒントとして表示します。呼び出し(ShowMessage ( | ) など)のかっこの中で使用できます。

コード パラメータ ヒントを呼び出すには、Ctrl+Shift+Space を押します。

コード ヒント

シンボルの型、宣言元のファイルと行番号などの情報をヒントとして表示します。

コード ヒントを表示するには、コード エディタで作業中に、マウス ポインタをコード内の識別子の上に置きます。

メモ: コード ヒントは、Object Pascal では、ヘルプ インサイト機能を無効にした場合にのみ動作します。ヘルプ インサイトを無効にするには、[ツール|オプション...|エディタ設定|支援機能]ダイアログ ボックスの[ヘルプ インサイト]をオフにします。

ヘルプ インサイト

ヘルプ インサイト は、シンボルの型、宣言元のファイルと行番号などの情報に加えて、シンボルに関連付けられている XML 文書(ある場合)もヒントとして表示します。

ヘルプ インサイトを呼び出すには、コード エディタで作業中に、マウス ポインタをコード内の識別子の上に置きます。Ctrl+Shift+H を押して、ヘルプ インサイトを呼び出すこともできます。

コード補完

コード補完機能は、現在のカーソル位置で使用できるシンボルのドロップダウン リストを表示します。コード補完を呼び出すには:

  • Ctrl+Space キーを押します(常にコード補完が起動されます)。
  • . を入力します ([ツール|オプション...|エディタ設定|支援機能]ページの[コード補完]がオンの場合にのみ有効です)。

コード補完をキャンセルするには、Esc キーを押します。

クラス補完

クラス補完は、宣言されるクラス メンバのスケルトン コードを生成することで、新規クラスの定義と実装を簡略化します。ユニットの interface セクションにあるクラス宣言内にカーソルを置き、Ctrl+Shift+Cを押す(または、右クリックしてコード エディタのコンテキスト メニューから[カーソル位置のクラスを補完]を選択)することにより、すべての未完成のプロパティ宣言が補完されます。実装が必要なすべてのメソッドに対しては、空のメソッドが implementation セクションに追加されます。

また、クラス補完を利用して、imprementation セクションで定義したメソッドのための、インターフェイス宣言を補完することも可能です。

ブロック補完

コード エディタでの作業中に、正しく閉じられていないコード ブロックがある場合、そこで Enter キーを押すと、現在のカーソル位置の後にある次の空行にブロックを閉じるためのトークンが挿入されます。たとえば、Object Pascal 言語でコード エディタを使用している場合、トークン begin を入力し、Enter キーを押すと、begin end になるように自動的にステートメントが補完されます。

コード参照(Ctrl キーを押しながらクリック)

コード エディタを使用して FireMonkey フォーム アプリケーションなどのアプリケーションを編集中に、Ctrl キーを押しながらクリックすると、クリックした位置にある識別子を定義しているコードに、自動的に "ジャンプ" することができます。コードを参照するには、任意のクラス、変数、プロパティ、メソッドなどの識別子の名前の上にマウス ポインタを移動させ、Ctrl キーを押します。マウス ポインタが手の形になり識別子が下線付きで強調表示されてから、その識別子をクリックすると、コード エディタにその識別子の宣言が表示され、必要に応じてソース ファイルが開かれます。

識別子を右クリックし、コンテキスト メニューから[定義の検索]を選択しても、同じことができます。

コード参照で検索して開くことができるのは、プロジェクトの検索/インクルード パスやグローバルな参照パスに存在するユニットだけです。以下の順にディレクトリが検索されます。

  1. Object Pascal のプロジェクト固有の[検索パス][プロジェクト|オプション...|Object Pascal コンパイラ])、または C++ の[インクルード ファイルの検索パス][プロジェクト|オプション...|C++ コンパイラ|ディレクトリと条件定義])のいずれか。
  2. グローバルな[ブラウザ検索パス](Object Pascal の場合は[ツール|オプション...|環境オプション|Object Pascal オプション|ライブラリ]、C++ の場合は[ツール|オプション...|環境オプション|C++ オプション|パスとディレクトリ])。

Ctrl キーを押しながらクリックして識別子の宣言に移動する代わりに、Alt+↑(上矢印)を使用することもできます。その他の有用な組み合わせキーについては、「デフォルトのキーボード ショートカット」を参照してください。

コード ナビゲーション

以下のセクションでは、コード エディタの使用中にコード内を移動するための機能について説明します。

メソッド間の移動

一連のエディタ ホットキーを使って、メソッド間を移動できます。メソッド間の移動を現在のクラス内のメソッドに制限することもできます。たとえば、クラス内制限を有効にし、TComponent のメソッドの 1 つにいる場合は、TComponent のメソッド間でのみ移動が行われます。

メソッド間の移動に使用するキーボード ショートカットは次のとおりです。

  • Ctrl+Q^L -- クラス内制限のオン/オフ
  • Ctrl+Alt+↑ -- 現在のメソッドの先頭または前のメソッドに移動
  • Ctrl+Alt+↓ -- 次のメソッドに移動
  • Ctrl+Alt+Home -- ソース内の最初のメソッド
  • Ctrl+Alt+End -- ソース内の最後のメソッド
  • Ctrl+Alt+マウスホイール -- メソッド間のスクロール移動

クラスの検索

クラスを検索できます。[検索|クラスの検索...]コマンドを使用すると、選択可能なクラスのリストを表示できます。クラスを選択すると、そのクラスの宣言に移動します。

ユニットの検索

Object Pascal 言語のプログラミング中に、名前空間またはユニットを検索するリファクタリング機能を使用できます。[ユニットの検索...]コマンドを使用して、ユニットを検索し、コード ファイルに追加できます。

次の変更および前の変更の検索

コードの編集時にキー入力を使用して、それまでに行った次の変更と前の変更にすばやく移動できます。キーボード ショートカットを次に示します。

  • Ctrl+Shift+F7 -- ファイルを開いた後変更された前の行(マージンが緑色)に移動します。
  • Ctrl+Shift+F8 -- ファイルを開いた後変更された次の行(マージンが緑色)に移動します。
  • Alt+Shift+F7 -- 前回の保存後に変更された前の行(マージンが黄色)に移動します。
  • Alt+Shift+F8 -- 前回の保存後に変更された次の行(マージンが黄色)に移動します。

次の行または前の行が非表示の(折りたたまれた)ブロック内にある場合は、そのブロックが展開されます。コードの折りたたみについては、このトピックの後半で説明します。

各種キー入力は、キーボード マッピング(デフォルト、IDE クラシック、BRIEF、Epsilon)と同じです。Visual Studio および Visual Basic のキーボード マッピングには、次の変更および前の変更に移動するキー入力はありません。

ソース コード内の使用箇所の検索

Object Pascal 言語でプログラミングを行っている場合には、[使用箇所の検索]機能を使って、ソース コード プロジェクト内のクラス、メソッド、変数、オーバーライド メソッド、派生クラス、実装インターフェイスの使用箇所を検索できます。

ライブ テンプレート

ライブ テンプレートは、記述済みコードの辞典として使用できます。このコードをコード エディタの使用中にプログラムに挿入できます。これにより、入力が必要な作業量を削減できます。

ライブ テンプレートの作成と使用については、このトピックの最後にあるリンクを参照してください。

コードの折りたたみ

コードの折りたたみ機能を使用すると、コードの領域(ブロック)を折りたたんだり展開することができます。コードを折りたたむと、コードが階層構造で表示され、判読やナビゲーションが容易になります。折りたたまれたコードは削除されたのではなく、展開するまで非表示になるだけです。コードの折りたたみ機能はデフォルトでオンになっています。

コードの折りたたみ機能を使用するには、コード エディタの左端にあるプラス記号([+])およびマイナス記号([-])をクリックします。

  • プラス記号([+])をクリックすると、関連するコードの領域が展開されます。
  • マイナス記号([-])をクリックすると、関連するコードの領域が折りたたまれます。

コードの折りたたみ機能を有効または無効にするには:

  • [ツール|オプション...|エディタ設定ダイアログ ボックスの、[コードの折りたたみ]チェック ボックスを使用します。
  • キーボード ショートカットの Ctrl+Shift+K+O を使用します。

また、コンテキスト メニューの[コードの折りたたみ]コマンドを使用すると、型、メソッド、XML ドキュメント コメント(Object Pascal の場合)、'最も近い' 領域など、特定の種類の領域を折りたたむことができます。[コードの折りたたみ]コマンドおよび[コードの展開]コマンドについては、「コード エディタのコンテキスト メニュー」で説明しています。コードの折りたたみ領域の作成方法など、コードの折りたたみ機能の詳細は、「コードを折りたたむ」を参照してください。

リファクタリング

リファクタリングは、コードの外部機能を変更せずにコードを改善する処理です。たとえば、メソッドの抽出リファクタリングを使用すれば、選択したコード フラグメントをメソッドに変更できます。IDE は、抽出されたコードを現在のメソッドの外に移動し、必要なパラメータを決め、必要であればローカル変数を生成します。また、戻り値の型を決め、元のコードを新しいメソッドの呼び出しに置き換えます。その他にも、シンボル名の変更、変数の宣言などのリファクタリング メソッドを使用できます。

同期編集

同期編集機能を使用すると、コード内の同一の識別子を同時に編集できます。最初の識別子を変更すると、同じ変更が残りの識別子にも自動的に適用されます。また、ジャンプ ポイントを設定して、コード内の特定のセクションに移動することもできます。

To-Do リスト

[To-Do リスト]は、プロジェクトで完了する必要があるタスクを記録します。[To-Do リスト]に追加されたタスクは、編集したり、コードにコメントとして追加したり、完了したことを示すようにマークしたり、リストから削除したりすることができます。フィルタを設定して、目的のタスクだけをリストに表示することもできます。

キー入力マクロ

コードの編集中に、一連のキー入力をマクロとして記録することができます。マクロを記録した後、それを再生して同じキー入力を繰り返すことができます(これは現在の IDE を開いている間に限り有効です)。マクロを記録すると、前に記録したマクロが上書きされます。

しおり

しおりは、長いファイル内の移動に便利です。コード内の任意の場所にしおり(ブックマーク)を付けて、ファイル内のどこからでもその場所にジャンプできます。

しおりを設定すると、コード エディタの左マージンに、本のアイコン(しおりアイコン) が表示されます。1 つのファイルで、0 番(Bookmark0.bmp)から 9 番(Bookmark9.bmp)までの 10 個のしおりを使用できます。

コード エディタのマージンでしおりアイコンをドラッグ アンド ドロップできます。移動先のしおりは、元のしおり番号が保持されます。

ブロック コメント

コード エディタ でコードを選択し、Ctrl+/(スラッシュ)を押せば、コード セクションをコメントアウトできます。選択したコードの各行の先頭には // が付けられ、コンパイラはこの行を無視します。コードの 1 行目の先頭に // が付いている場合は、Ctrl+/ を押すと、スラッシュが削除されます。Visual Studio または Visual Basic のキー マップを使用する場合は、Ctrl+K+C を使ってコメントのスラッシュを追加または削除します。

関連項目