Delphi 7以降の IDEの新機能

By: Chikako Yonezawa

Abstract: Delphi 2007 for Win32現在で、Delphi 7以降に追加された Delphi IDEの新機能について説明します。

Delphi 7以降の IDEの新機能

MSBuild ビルドエンジン IDEは、新たにビルドエンジンとして MSBuildを使用するようになりました。 これにより、ビルドの設定で、ビルド前、ビルド後のイベントの定義が可能になり、IDEは、コマンドラインのビルドと同じビルドがなされるようになりました。

File Explorer (ファイルブラウザ) IDEに統合された File Explorer(ファイルブラウザ)により、IDEからマシンのハードドライブ上のファイルにアクセスできるようになりました。ファイルは、プロジェクトに追加したり、コードエディタで開いたりすることができます。ファイルブラウザは、他のドッキングウィンドウと同様に、IDEにドッキングすることができます。

ライブテンプレート

ライブテンプレートは、テンプレートベースのコードの挿入機能により、タイピングの速度を向上させます。 ライブテンプレートは、単純な XMLファイルなので、開発者が必要に応じて自分自身のコードテンプレートを記載することができます。

以下は、try...finally ブロックを生成する動作のライブテンプレートの画像です。

ブロック補完 ブロック補完は、コードブロックが適切に閉じられていることを保証します。 コードブロックを開始した後に、Enterキーを押すと、ブロック補完により、 自動的に(通常は、'end;'を使って)ブロックが閉じられます。

		BlockCompletion

履歴タブ

履歴タブは、非常に単純なソースコントロールシステムとして機能します。 ファイルを保存するたびに、バックアップがサブディレクトリに作られ保存されます。 IDEでは、diffエンジンを使い、ファイルの以前の版と比較して開発履歴をトレースできます。 もし、ファイルの古い版が必要であれば、既存のファイルと差し替えることもできます。 以下のスクリーンショットは、ファイルの2世代前の版との相違を表している履歴タブです。

拡張されたデバッグ機能 新しいデバッグ機能に含まれるもの:
  1. CPUビューパネルをエディタから独立して、別個に開くことができるようになりました。
  2. 逆アセンブルパネルのローカルメニューに[オペコードの表示]が追加されました。
  3. 逆アセンブルパネルのローカルメニューに[アドレスの表示]が追加されました。
  4. [ツール | オプション | デバッガオプション | イベントログ]上に[スクロールして新しいイベントを表示]の新しいオプションが追加されました。
  5. [ツール | オプション | デバッカオプション | CodeGear デバッカ]上に [ユーザーブレークポイント以外を無視]の新しいオプションが追加されました。
  6. 新しいツールバーのカスタマイズ可能なボタンとして "言語の例外で通知" が 利用可能になりました。 -- このボタンは、[ツール | オプション | デバッカオプション | CodeGear デバッカ | 言語特有の例外] 上にある [言語の例外で通知]のオプションを、開発者がツールバー上でオン/オフできるものです。
  7. CTRLキーを押している間、評価のツールチップヒントが透明に表示され、開発者はツールチップから透けるエディタの内容を同時に確認できるようになりました。
  8. 呼び出し履歴ウインドウは、フレームがデバック情報を持っているときは、それを表すシンボルを表示します。
  9. 開発者は、呼び出し履歴ウインドウにより、スタックフレーム上の場所にブレークポイントを設置させることができます。
  10. 項目をダブルクリックすると、呼び出し履歴ウインドウは、自動的にローカルのウインドウと同期を取ります。
  11. エディタ内で CTRL-F5キーを押すことにより、現在行に設置されたブレークポイントの表示/非表示を行えます。
  12. (Delphi.Win32に含まれる)全てのプロジェクトタイプのための[デバック用ソースパス]は、[プロジェクト | オプション | デバッガ]により設定することが可能です。 以前、Delphi.Win32のためのこの設定は、ディレクトリ/条件のページにありました。 そして、他のパーソナリティにはありませんでした。
  13. CPUウインドウは、[デバック中暗黙的に開かれたファイルを自動的に閉じる]オプションの設定に関連します。
VCL ガイドライン VCLデザイナは、非常に簡単にコントロール間隔の調整と整列を行えるようなガイドラインを提供します。 コントロールを適切な位置に整列したり間隔の設定を行おうとすると、デザイナは、コンポーネントを「配置する」のに役立つガイドラインを表示します。 以下の画像は、この動作の特徴を示しています。

コードの折りたたみ

エディタは、折りたたまれたコードが、画面から見えなくなるように、コードの個別の領域を「折りたたむ」ことができます。 ディフォルトでは、関数と、プロシージャが折りたたまれます。 ユーザは、{$REGION} pragma を使い、独自の折りたたまれるコードの領域を定義することができます。

SyncEdit (同期編集)

同期編集機能は、開発者にコード内の同一の識別子を同時に編集させることができます。 変更が最初の識別子に行われると、同じ変更が他の識別子に自動的に実行されます。 コード記述者は、コード内の強調表示された異なる場所にある識別子に Tabキーを使ってジャンプできます。

検索可能なツールパレット

ツールパレットでは、新たに検索とフィルターを行うことができるようになりました。 ユーザーは、名前、またはコンポーネントの名前の一部を単純にタイプすることにより、コンポーネントを素早く見つけることができます。 また、ツールパレットでは、非常に柔軟な設定を行えます。 開発者は、独自のカテゴリを簡単に生成でき、他のカテゴリからコンポーネントをドラックアンドドロップすることができます。

エディタの行番号表示

エディタは行番号を提供します。 デフォルトでは、現在行の行番号に加えて、10行目ごとに行番号が表示されています。 ユーザーは、行番号の非表示を選択したり、全ての行番号の表示を選択することができます。

変更バー

余白の部分に、エディタ内の行のステータスについてのインフォメーションを表示します。 最後に保存されてから変更が行われた行には、黄色のバーのマークが付いています。 ファイルが最初に開かれ、最後に保存される前までに変更された行には、緑のマークが付きます。

リファクタリング

リファクタリングは、コードの動作を変更せずに既存のコードを再構築および変更する技法です。 リファクタリングは、構文を合理化、簡素化し、アプリケーションコードのパフォーマンスと信頼性を改善します。

Delphi 2007 for Win32 は、リファクタリングの操作として以下を提供します:

  • 名前の変更
  • メソッドの抽出
  • 変数の宣言
  • フィールドの宣言
  • リファレンスの検索
  • リソース文字列の抽出
  • ユニットの検索
  • パラメータの変更
  • フィールドの導入
  • 変数の導入
  • 変数のインライン化
  • 安全な削除
統合されたユニットテスト

Delphi 2007 for Win32 では、予めDUnitが統合されています。 このフレームワークは、アプリケーションにおけるクラスとメソッドのテストを構築するプロセスを単純化し、 リファクタリングと結合してユニットテストを行うことにより、アプリケーションの安全性を改善することができます。 小さな変更の度にコードを通す標準のテストを実行することは、開発サイクルの早い段階で、エラーを検出しやすくなります。 IDE は、開発者が、迅速かつ容易にコードライブラリに対するユニットテストを生成するウィザードを提供します。

クラス図と UML モデリング

開発者は、コードとモデルの双方向が連動するクラスモデリングにより Delphiで完全な UMLとクラスモデリングを行うことができます。

Server Response from: ETNASC03