Cursor 101

Cursor チュートリアル 2 - プロンプトバー(Cmd K)機能を本当に効果的に使用していますか?

プロンプトバー(Cmd K)機能は、ユーザーが AI 支援プログラミングを導く最も迅速な方法であり、AI が完全にユーザーの意図を理解できない欠点を補完します。この記事では、Cursor のプロンプトバー(Cmd K)の基本機能といくつかの使用のコツを紹介します。

著者: 鳥飛魚躍 | 原文リンク

  1. Cursor で git commit メッセージを素早く生成するにはどうすればよいですか?
  2. プロンプトバー(Cmd K)を使用する際のコツは何ですか?
  3. プロンプトバー(Cmd K)とチャット機能(Cmd L)の違いをご存知ですか?

この記事では、Cursor AI 支援プログラミングの2番目の主要機能であるプロンプトバー(Cmd K)を紹介します。以下の内容でこれらの質問への答えを見つけていきましょう。

プロンプトバー(Cmd K)機能とは何か?

Tab 機能が AI 支援コーディングの最も直接的な形式(直接コードを生成する)だとすれば、プロンプトバー(Cmd K)はユーザーが AI に何をすべきか指示する最も迅速な方法であり、AI がユーザーの意図を完全に理解できない欠点を補完します。

プロンプトバー(Cmd K)は Cursor で AI と対話する最速の方法です。常に待機しているプログラミングアシスタントのようなもので、素早く AI の助けを得ることができます。

Cursor のプロンプトバー

チャット機能(Cmd L)とは異なり、プロンプトバー(Cmd K)は主にローカルコードの生成や修正に使用され、一方チャット機能(Cmd L)はより広範なコードディスカッションに使用され、複数回のやり取りをより良くサポートし、より一般的なプログラミングの質問に答えることができます。

Cursor のプロンプトバーは2種類に分かれています:

  • コード編集プロンプトバー:コードエディタで使用され、主にコードの補完や編集に使用されます。
  • ターミナルプロンプトバー:ターミナルで使用され、主にターミナルでのコマンド生成に使用されます。

コード編集プロンプトバー

コードエディタで、Cmd K(Windows/Linux では Ctrl K)を押すとプロンプトバーが表示されます(下図参照)。ユーザーはバーにプロンプトを入力してコード提案を生成できます。

Cursor のコード編集プロンプトバー

使用されるコンテキスト情報

コンテキスト情報の有効性が生成されるコードの品質を決定します。

コード編集でプロンプトバーを使用する際、Cursor は自動的に有用な情報を見つけてコード生成を改善しようとします。手動で含める @ シンボルに加えて、以下の追加コンテキストもあります:

  • 現在編集しているコードに関連するファイル
  • 最近表示したファイル

Cursor は編集/生成との関連性に基づいてコンテキスト項目をランク付けし、最も関連性の高い項目を大規模言語モデルのコンテキストとして保持します。

インライン生成

Cmd K を押したときにコードが選択されていない場合、Cursor はプロンプトバーに入力した内容に基づいて新しいコードを生成します。

インライン生成

インライン編集

Cmd K を押したときに一部のコードが選択されている場合、Cursor はプロンプトバーに入力した内容に基づいて選択されたコードを修正します。

インライン編集

ターミナルプロンプトバー

Cursor の内蔵ターミナルで、Cmd K(Windows/Linux では Ctrl K)を押すとターミナルの下部にプロンプトバーが開きます。

ターミナルプロンプトバー

  1. プロンプトバーで、ターミナルで行いたいことを簡単に説明します。
  2. Cursor は自動的にあなたの説明に基づいてターミナルコマンドを作成します。
  3. コマンドが使用可能だと思われる場合:
    • Esc を一度押すと、コマンドがターミナルに表示されますが、まだ実行されません。
    • コマンドをすぐに実行したい場合は、Cmd + Enter を押します。

使用されるコンテキスト情報

ターミナルの Cmd K はデフォルトで以下のコンテキストを考慮します:

  • ターミナルの最近の履歴
  • プロンプトバーの他のコンテンツ

コツ

フォローアップ指示

AI を使用してコードや回答を生成する際、最初の結果が完璧でないことがよくあります。これが「フォローアップ指示」機能が必要な理由です。AI と会話をしているようなもので、段階的に AI を導いて望む結果を得ることができます。

例えば、AI が最初に生成したコードに問題がある場合、プロンプトバーで直接「この関数にエラー処理を追加する必要がある」と言うことができます。そして Enter を押すと、AI は新しい指示に基づいてコードを修正します。プロセス全体を最初からやり直す必要はなく、既存の基盤の上で改善を続けることができます。

クイックアンサー

時には、コードの一部の機能を素早く理解したり、簡単な情報を得たりする必要がありますが、すぐにコードを生成または修正したくない場合があります。これがクイックアンサー機能が便利な理由です。

プロンプトバーで Option/Alt Enter を押すと、Cursor は選択されたコンテンツと関連するコンテキストに関する質問に即座に答えます(コードの生成や修正は行いません)。

クイックアンサー

この機能が特に有用な理由は以下の通りです:

  1. 質問に素早く答えることができ、コードをより良く理解するのに役立ちます。
  2. チャットウィンドウに切り替える必要がなく、エディタで直接答えを得ることができます。
  3. この会話の内容は記憶され、後続の操作でこの情報を利用できます。

git commit メッセージを素早く生成

ターミナルプロンプトバーを使用して、git commit メッセージを素早く生成できます。

手順:

  1. ターミナルで 'git diff | cat' を入力して、最近の変更を取得します。
  2. 次に 'git add .' を入力して、すべての変更をステージングエリアに追加します。
  3. Cmd K を押し、プロンプトバーに 'git commit message' と入力すると、Cursor は生成された commit メッセージを含む git commit コマンドを生成します。
  4. Cmd + Enter を押してコマンドを実行し、プロセス全体を一気に完了します。

まとめ

プロンプトバー(Cmd K)機能を使用することで、コードを素早く生成および修正し、git commit メッセージを生成し、さらにはコードに関する簡単な質問に素早く答えることができます。これらの機能は、より効率的にコードを書き、時間を節約し、生産性を向上させるのに役立ちます。