Skip to main content

プロンプト履歴

Caretのプロンプト履歴システムは、ターミナル(bash、zsh)を使用するときと全く同じ方法で以前のメッセージを探索して再利用できるようにします。頻繁に使用するコマンドやプロンプトを毎回再入力する必要がなくなり、作業効率が大幅に向上します。

動作方法

入力欄にフォーカスがある時、キーボードの上/下矢印キーを使用して以前に入力したメッセージを探索できます。

基本的な使い方

上矢印 (↑): 前のメッセージに移動します。押し続けるとより古いメッセージに遡ります。

下矢印 (↓): 次のメッセージに移動します。最新のメッセージを過ぎてもう一度押すと、現在入力中のテキストに戻ります。

実際の使用例

1. "プロジェクトのすべてのTypeScriptファイルを表示して" 入力後送信
2. "package.jsonファイルを読んで" 入力後送信
3. "README.mdに使用方法を追加して" 入力後送信

入力欄で:
↑ 一回 → "README.mdに使用方法を追加して" が表示される
↑ もう一回 → "package.jsonファイルを読んで" が表示される
↑ もう一回 → "プロジェクトのすべてのTypeScriptファイルを表示して" が表示される
↓ 一回 → "package.jsonファイルを読んで"に復帰

主な機能

永続保存

入力したメッセージは自動的に保存され、VS Codeを終了して再起動しても維持されます。プロジェクトを閉じてから再度開いても、以前に使用したプロンプトをすぐに呼び出せます。

これはワークスペース(作業空間)ごとに管理されるため、プロジェクトAで使用した履歴とプロジェクトBで使用した履歴が別々に保存されます。

重複自動除去

連続して同じメッセージを入力すると、履歴には一度だけ保存されます。例えば「テスト実行」を三回連続入力しても、履歴には一つだけ記録され、不要な重複を防ぎます。

❌ 重複保存されない:
"npm run test" 入力
"npm run test" 再度入力 → 履歴に追加されない

✅ 重複保存される:
"npm run test" 入力
"ファイルリストを表示して" 入力
"npm run test" 再度入力 → 履歴に追加される (間に別のコマンドあり)

ユーザー入力のみ保存

履歴にはあなたが入力したメッセージのみが保存されます。AIの応答は保存されないため、矢印キーで探索する際に自分が入力した内容だけをきれいに見ることができます。

最大1000項目

最大1000個のメッセージ履歴を保存できます。1000個を超えると最も古い項目から自動的に削除され、メモリを効率的に管理します。

一般的な使用パターンでは、1000個なら数ヶ月間使用できる十分な量です。

ターミナルとの一貫性

Caretのプロンプト履歴は、bashやzshのようなターミナルシェルのコマンド履歴と全く同じように動作します。ターミナルでhistoryコマンドを使用したり、上/下矢印で以前のコマンドを探索していたのと同じ体験をCaretでもそのまま得られます。

このような一貫性により、開発者が新しいインターフェースを学習する必要なく、すでに慣れ親しんだ方法ですぐに使用できるようになります。

実践活用のヒント

反復作業の自動化

同じまたは類似した作業を繰り返すとき、履歴機能が大きく役立ちます。

作業シナリオ: 複数のファイルに同じパターンを適用

1. "UserController.tsのすべての関数に型注釈を追加して" 入力
2. 作業完了後
3. ↑ キーで前のメッセージを呼び出し
4. "UserController"を"ProductController"に修正
5. 送信

このように複数のファイルに素早く適用可能

実験的なプロンプトの再利用

良い結果を出したプロンプトを後で再度使用したいとき、履歴から簡単に見つけることができます。

2週間前に使用した効果的なプロンプト:
"コードレビューして。パフォーマンス、可読性、セキュリティの観点で分析して
改善提案を優先順位と共に提示して"

別のプロジェクトでこのパターンを再利用したいとき:
↑ キーを押して探索するか、類似した時期に入力した内容を探す

プロジェクト再開時

久しぶりにプロジェクトを再度開いたとき、履歴を見れば以前にどのような作業をしていたか素早く把握できます。

プロジェクトを2週間ぶりに再開:
↑ キーで最近の履歴を確認
→ "認証システムにJWT refresh tokenを追加"
→ "Redisセッションストレージを実装"
→ あ、認証システムの作業中だったんだ!

キーボードショートカット参考

キー動作
↑ (上矢印)前のメッセージに移動
↓ (下矢印)次のメッセージに移動
Enter現在表示されているメッセージを送信
Esc履歴探索をキャンセルして現在の入力に復帰

Clineとの違い

Clineにはプロンプト履歴機能がありません。以前に入力したメッセージを再度使用するには、毎回最初から再入力する必要があります。

Caretの履歴システムはこのような不便さを完全に解消し、反復的な入力作業を大幅に削減します。

よくある質問

Q: 履歴が保存される場所はどこですか?

A: VS Codeのワークスペースストレージに自動的に保存されます。別途ファイルを管理する必要はなく、VS Codeが自動的に処理します。

Q: 履歴を削除または初期化できますか?

A: 現在は自動的に管理されます。1000個の制限を超えると古い項目が自動削除され、ワークスペースを削除すると履歴も一緒に削除されます。

Q: 別のプロジェクト間で履歴を共有できますか?

A: 履歴はワークスペースごとに独立して管理されるため、プロジェクトごとに別々の履歴を持ちます。これはプロジェクトごとに適切なコンテキストを維持するのに役立ちます。

Q: 機密情報(APIキーなど)を入力したのですが、履歴に残りますか?

A: はい、入力したすべての内容が保存されます。機密情報をプロンプトに直接入力することは推奨しません。代わりに環境変数や設定ファイルを使用してください。

Q: マルチライン入力も履歴に保存されますか?

A: はい、複数行で入力したメッセージも全く同じ形で保存されます。↑ キーで呼び出すと改行まで正確に復元されます。


プロンプト履歴はCaretの独占機能です。 ターミナルで馴染みのある上/下矢印キー探索をAIチャットでもそのまま使用できます。