Tools API サービスの取得

提供:RAD Studio

Tools API を使用した IDE の拡張 への移動


有益なことを行うには、IDE を拡張するパッケージからエディタ、ウィンドウ、メニューなどにアクセスする必要があります。これがサービス インターフェイスの役割です。

共通の Tools API サービス インターフェイスのリスト

Tools API には、ファイルに対するアクションを実行するアクション サービス、ソース コード エディタにアクセスするエディタ サービス、デバッガにアクセスするデバッガ サービスなど、多くのサービスが含まれています。最も重要なサービス インターフェイスの一部を次の表に示します。

インターフェイス 説明

INTAServices

次のネイティブ IDE オブジェクトへのアクセスを提供します: メイン メニュー、アクション リスト、イメージ リスト、ツールバー。 「IDE 固有のオブジェクトを使用する」を参照してください。

INTACodeEditorServices

ユーザーがエディタ イベントの登録をできるようにします。

INTAWelcomePageBackgroundService

ウェルカム ページの背景を実装するインターフェイス

INTAWelcomePagePluginService

ウェルカム ページ サービスの各種サービスを提供します。

IOTAActionServices

次の基本的なファイル アクションを実行します: 開く、閉じる、保存、再読み込み。

IOTACodeCompletionServices

コード補完にアクセスできるようにし、カスタム コード補完マネージャをウィザードでインストールできるようにします。

IOTADebuggerServices

デバッガへのアクセスを提供します。

IOTAEditorServices

ソース コード エディタとその内部バッファにアクセスできるようにします。

IOTAIDEThemingServices

IDE の StyleServices へのアクセスを提供します。これにより、テーマが有効になっているかどうかを確認したり、IDE の組み込みフォームと同じスタイルで描画されるフォームを登録したりできます。

IOTAKeyBindingServices

カスタム キーボード バインディングをウィザードで登録できるようにします。

IOTAKeyboardServices

キーボード マクロおよびキーボード バインディングにアクセスできるようにします。

IOTAKeyboardDiagnostics

キー入力のデバッグのオン/オフを切り替えます。

IOTAMessageServices

[メッセージ]ビューにアクセスできるようにします。

IOTAModuleServices

開いているファイルにアクセスできるようにします。

IOTAPackageServices

インストールされているすべてのパッケージとそれらのコンポーネントの名前を問い合わせます。

IOTAServices

その他のさまざまなサービスです。

IOTASplashScreenServices

スプラッシュ画面のインターフェイス

IOTAToDoServices

To-Do リストにアクセスできるようにし、カスタム To-Do マネージャをウィザードでインストールできるようにします。

IOTAToolsFilter

ツール フィルタ通知オブジェクトを登録します。

IOTAVersionSKUInfoService

インストールされているプラ​​ットフォーム、SKU、そして、実行中の IDE が評価版であるか記載されたリストを問い合わせます。

IOTAWizardServices

ウィザードの登録および登録解除を行います。

ツール API での 高 DPI イメージ

イメージ(スプラッシュ画面サービス、情報ボックス、IDE インサイト、その他領域など)を渡す、すべての API が、高 DPI イメージをサポートしています。

各インターフェイスには、defined as an array of TGraphic の配列として定義されている TGraphicArray を取る、関連メソッドの新しいオーバーロードがあります。これにより、複数の解像度を持つ同じアイコンを渡すことができ、内部イメージ コレクションに追加され、仮想イメージ リストと共に使用されます。

このメソッドは、任意の TGraphic の配列を取りますが、PNG イメージを推奨します。

サービス インターフェイスの使用

サービス インターフェイスを使用するには、グローバル関数 Supports を使って、BorlandIDEServices 変数を、希望するサービスにキャストします。次に例を示します。

Delphi の場合:

procedure SetKeystrokeDebugging(Debugging: Boolean);
var
  Dialog: IOTAKeyboardDiagnostics
begin
  if Supports(BorlandIDEServices, IOTAKeyboardDiagnostics, Dialog) then
    Dialog.KeyTracing := Debugging;
end;

C++ の場合:

void SetKeystrokeDebugging(bool Debugging)
{
  _di_IOTAKeyboardDiagnostics Dialog;
  if (BorlandIDEServices->Supports(Dialog))
    Dialog->KeyTracing = Debugging;
}

ウィザードで特定のサービスをよく使用する必要がある場合は、そのサービスを指すポインタをウィザード クラスのデータ メンバとして保持することができます。

関連トピック

以下のトピックでは、Tools API サービス インターフェイスを扱う際に特に考慮すべき事項について説明します。

関連項目