Smart CodeInsightの概要

提供: Support
移動先: 案内検索

Smart CodeInsight は、好みの AI エンジンと連携できるオープンアーキテクチャです。​RAD Studio では、以下の機能を備えたカスタマイズ可能な UI 統合も提供しています。

  • 基盤となるAIエンジンとToolsAPIによる拡張機能
  • IDEとの統合機能:
  • オンライン/オフラインのAIエンジンに対応
    • オンライン:OpenAI、Gemini、Claude など
    • オフライン:Ollama


    Note: OllamaはMITライセンスで提供されているオープンソースのAIプラットフォームです。使用するモデルごとにライセンスが異なり、たとえばCodeLlamaには利用制限があります。
    Note: ToolsAPIに慣れている方は、独自のAIプラグインも作成可能です。詳しくは「Smart Insight向けのAI プラグインの作成と実装」ページをご覧ください。
    Note: RAD Studioは、これらのAIエンジン自体を提供しているわけではありません。利用には、各AIサービスの利用規約に同意し、APIキーを設定し、必要な課金が発生する場合があります。唯一の例外はOllamaで、ローカルや独自サーバーで無料利用が可能です。


    設定オプション

    RAD Studioでは、AI機能を細かく制御する設定が用意されています:

    • AI機能そのものを全体的に有効/無効にする設定
    • 最大4つまでのAIエンジンを個別に有効/無効にする設定
    • エディタとチャット画面で使うAIを個別に選択可能

    これらの設定は、IDEの「オプション」メニューから変更できます。詳しくは「Smart CodeInsightのオプション」ページをご覧ください。

    また、セキュリティ面でも配慮されています:

    • APIキーは暗号化された状態で保存されます
    • オフライン利用のためにローカルエンジン(Ollamaなど)もサポートされています


    エディタメニューのAIコマンド

    エディタでコードを選択し、右クリックメニューからAIを使って次のような操作が行えます:

    • 選択したコードの説明やコメントの自動生成
    • バグの検出やコードの最適化
    • 単体テストの生成や他言語への変換(例:C++→Delphi)
    • 使われている型やクラスに必要なusesまたはヘッダの提案

    AIが生成した結果は、エディタに自動でコメントとして追記されます。

    利用可能なコマンド

    Smart CodeInsight で利用可能なコマンドは以下の通りです。

    Thumb0320008ujpn.png

    • AI チャット: チャットビューを開く
    • バグの検知: 選択したコード内の潜在的なバグを検出
    • コードの説明: 選択したコードの説明.
    • コードの追加: 選択したコードにコメントを追加
    • コードの補完: 選択したコードの補完​
    • コードの最適化:選択したコードの最適化
    • ユニットテストの追加: 選択したコードに対するユニットテストの追加
    • アセンブラに変換: 選択したコードをアセンブリコードに変換
    • Delphiに変換: 選択したコードを Delphi コードに変換(C++ またはアセンブリから)
    • C++に変換: 選択したコードを C++ Builder コードに変換
    • ヘッダーの検索(AI) (C++用) / ユニットの検索 (Delphi用): 選択したコードのクラスやデータ型に必要なユニットを uses ステートメントに追加
    • エディタに結果を表示: 出力結果をエディタに送信
    • チャットウィンドウに結果を表示:出力を AI チャットウィンドウに Markdown 形式で送信

    AI チャットウィンドウ

    AIチャットウィンドウは、IDE内に表示されるチャット形式のパネルです。 質問やリクエストを入力すると、選択したAIエンジンが応答してくれます。エンジンは毎回選ぶことも、デフォルト設定にしておくことも可能です。


    Thumb0320009ujpn.png

    このチャットウィンドウには、「質問メモ」として使える入力欄があり、簡単なコマンドラインのように操作できます。利用できる主なコマンドは以下の通りです:

    • chatgpt> + Enter: 使用するAIエンジンを ChatGPT へ切り替える(有効な場合)
    • gemini> + Enter: 使用するAIエンジンを Gemini へ切り替える(有効な場合)
    • claude> + Enter: 使用するAIエンジンを Claude へ切り替える(有効な場合)
    • ollama> + Enter: 使用するAIエンジンを Ollama へ切り替える(有効な場合)
    • clear> + Enter: 回答欄の内容をクリア
    • stop> + Enter: 回答の生成を停止(「停止」ボタンをクリックしたのと同じ動作)
    • Ctrl + Enter: 回答の生成を開始(「開始」ボタンをクリックしたのと同じ動作)

    通常の質問のほか、コードエディタ上の特定のコードに対して、質問や解説を依頼することもできます。以下のマクロを使うと、より正確に対象を指定できます:

    Thumb0320010ujpn.png

    • $COL: カーソルが現在ある列番号に展開されます。
    • $ROW: カーソルが現在ある行番号に展開されます。
    • $CURTOKEN: カーソルがある位置の単語に展開されます。変数名やメソッド名、識別子を指定したいときに便利です。
    • $EDNAME: 現在アクティブなコードエディタのファイル名(フルパス付き)に展開されます。ファイルパスを明示する際に役立ちます。
    • $SELECTION: 現在選択しているコードの部分に関する解説を表示します。
    • $UNIT: 現在のユニット全体のコードに対する解説を表示します。

    詳しい使い方や例については、「転送マクロ」ページをご参照ください。

    関連情報