編集モードは複数ファイルの変更をサポートしており、要件と現在のプロジェクト環境に基づいて、複数のファイルにまたがる正確な更新を可能にします。反復的な変更とコードレビューを促進し、コード変更タスクを効率的かつ制御可能に完了するのに役立ちます。
編集モードは Visual Studio Code でのみ利用可能であり、Lingma IDE および JetBrains IDE プラグインではサポートされていません。
編集モードは、元の AI Developer モジュールです。編集モードを使用するには、VS Code および JetBrains IDE で Lingma を V2.5.0 以降にアップデートしてください。
編集モードは、以下のコア機能を提供します:
プロジェクトレベルの変更:タスクの記述に基づいて、プロジェクト内の複数のコードファイルを変更できます。マルチターン対話を通じて、コードの最適化やスナップショットのロールバックを実現し、タスクをより効率的に完了できます。
正確な編集:コードの変更が提供されたコンテキストに厳密に限定され、仕様外の変更が行われないことを保証します。
高速な実行:タスクの記述と提供されたコンテキストに忠実に従い、複雑なタスク計画を必要とせずに迅速なコード編集を可能にします。エージェントモードと比較して、編集モードはタスクをより速く完了します。
ツールの使用:ファイルの読み取り、プロジェクト内のセマンティック検索、ファイルの編集などのツールの使用をサポートし、開発者が効率的にコード変更を達成できるようにします。
複数ファイルの編集
編集モードを使用すると、複数のファイルを効率的に変更できます。編集モードを使用する際は、以下のベストプラクティスに従うことを推奨します:
明確な要件記述の提供:まず、どのコードを変更する必要があるかを明確にし、次に具体的な要件をリストアップします。これには、明確に定義された目標と、構造化されたステップバイステップのタスク期待値の記述が含まれます。
必要なコンテキストの指定:関連するコードファイル、イメージ、コードベース、コード変更などのコンテキストリソースを選択して、変更の範囲、要件、およびリファレンスを明確に定義します。包括的なコンテキストを提供することで、Lingma は意図をよりよく理解し、最適なソリューションとコード提案を生成できます。
生成基準の定義:Lingma がコード変更提案を生成する際に従うべき要件を明確に伝えます。例えば、プログラミング言語、コーディング標準、フォーマット、または特定の変更目標 (例:「変更を生成する際に各メソッドにコメントを追加する」) などです。プロジェクト全体の要件は、Lingma ルールファイルで設定および保存することもできます。詳細については、「ルール設定」をご参照ください。
スナップショット機能の活用:AI が生成したコンテンツが期待に沿わない場合や、要件が変更された場合は、スナップショット機能を使用して以前の対話ステップとコード状態に復元します。これにより、リクエストを反復して洗練させることができます。
ファイルレベルの単体テスト生成 (UnitTest)
単体テストは、コード変更や単一または複数のコードファイルに対して、単体テストファイルをバッチ作成できる特殊な機能です。テスト対象のコードと要件を提供すると、Lingma は自動的にテスト計画を作成し、テストケースを生成・実行し、エラーメッセージに基づいて自動修正を実行します。
現在、この単体テストの生成とインタラクション方法は IntelliJ IDEA でのみサポートされています。
テスト対象コードの選択と要件の入力
AI チャットパネルを開き、編集モードに切り替えます。
入力ボックスの ➕ をクリックするか、
#を入力して、関連するコンテキストを選択します。命令を入力します。単体テスト要件の生成に関連する内容を含めることを推奨します。
要件を送信します。Lingma は自動的に意図を検知し、単体テストの生成プロセスを開始します。
環境の選択と確認
テスト要件を受信した後、Lingma は Java バージョン、ビルドツール、テストフレームワーク、モックフレームワークなどのローカル環境情報を自動的に検出します。 複数のバージョンが検出された場合は、必要なバージョンを選択してください。 Lingma がバージョンを識別できない場合は、エラーメッセージが表示されます。 [修正方法] をクリックして、関連コンポーネントの設定方法の詳細を確認してください。

テスト対象のメソッドを確認する
環境チェックに合格した後、Lingma は自動的にテスト対象のファイルを分析し、テスト計画を生成します。 テストするメソッドを選択し、[確認] をクリックしてテスト範囲を確定します。 Lingma は、選択した各メソッドの単体テストケースを生成します。
単一のテストケース生成操作では、少なくとも 1 つ、最大 20 のメソッドを選択してください。
メソッドを選択すると、全体のビルドプロセスに必要な推定時間が参考として表示されます。

生成の進行状況を表示する
テスト対象のメソッドを確認すると、Lingma は選択したメソッドに基づいて単体テストケースを自動的に生成し、生成された結果をコンパイル、実行、修正します。 最終結果はインターフェースに表示されます。 次の表は、最終結果に示されるステータスを示しています。
ステータス | 説明 |
| 合格したテストケースを示します |
| コンパイルは合格したが、実行時に失敗したテストケースを示します |
| コンパイルに失敗したテストケースを示します |

すべてのメソッドのテストケースが生成されると、Lingma はコンパイルと実行に成功したテストケースを最終的なテストケースファイルに自動的にマージし、テスト対象ファイルに基づいて自動的に名前を付けます。コンパイルに失敗したテストケースのコードについては、コードを保持するかどうかを選択できます。すべてのテストケースのコードが確認されたら、[確認] をクリックします。その後、テストケースファイルは元のテストケースファイルと自動的に比較されます。

テストケースファイルのコードを確認して受け入れる
確認すると、テストケースファイルが作業スペースに表示されます。 作業スペースの [差分] をクリックするか、ファイルリストからファイルをクリックして、差分ビューで差分を表示します。 その後、コードの確認、変更、受け入れ、または拒否を行うことができます。 すべてのコード変更を確認したら、[受け入れる] をクリックします。 テストケースファイルで変更されたコードは、現在のコードプロジェクトに統合されます。
