設定

キーボード・ショートカット

キーボード・ショートカットを使用してワークフローを効率化し、マウス操作への依存を減らします。

利用可能なキーボード・コマンド

Bobは、ワークフローを強化するためのキーボード・ショートカットを提供します。このページはBob.acceptInputコマンドに焦点を当てていますが、主要なキーボード・ショートカットのクイック・リファレンスを以下に示します:

コマンド説明デフォルトのキー・バインド
Bob.acceptInputテキストを送信または主要な提案を受け入れるなし(構成可能)
Bob.focusBob入力フィールドにフォーカスなし(構成可能)
インライン編集エディターで直接コードを編集Cmd + K (Mac) / Ctrl + K (Windows/Linux)
チャットに移動選択したコードをチャット・インターフェースに送信Cmd + L (Mac) / Ctrl + L (Windows/Linux)
リテラシー・コーディング・モードリテラシー・コーディング・モードを切り替えCmd + I (Mac) / Ctrl + I (Windows/Linux)

利用可能なすべてのキーボード・ショートカットの完全なリストとカスタム・バインディングを構成するには、Bob設定を開き、一般設定の下にあるキーボード・ショートカットオプションに移動して、すべてのショートカットを表示および変更できます。

キーボード・コマンドの主な利点

  • キーボード駆動インターフェース: マウス操作なしでテキストを送信または主要な提案ボタンを選択
  • アクセシビリティーの向上: 移動制限のあるユーザーやマウス使用時に不快感を感じるユーザーにとって不可欠
  • Vim/Neovim互換性: キーボード中心の環境からの開発者のシームレスな移行をサポート
  • ワークフロー効率: 開発タスク中のキーボードとマウス間のコンテキスト切り替えを削減

Bob.acceptInputコマンド

Bob.acceptInputコマンドを使用すると、ボタンをクリックしたり入力エリアでEnterを押したりする代わりに、キーボード・ショートカットでテキストを送信したり提案を受け入れたりできます。

コマンドの動作

Bob.acceptInputコマンドは、ユニバーサル入力送信コマンドです。トリガーされると:

  • テキスト入力エリアにいる場合、現在のテキストまたは画像入力を送信します(Enterを押すのと同等)
  • アクション・ボタンが表示されている場合、主要な(最初の)ボタンをクリックします(確認/キャンセル・ボタンやその他のアクション・ボタンなど)

詳細なセットアップ・ガイド

方法1: UIを使用する

  1. コマンド パレットを開きます(Ctrl+Shift+PまたはMacでCmd+Shift+P
  2. 検索フィールドに「Preferences: Open Keyboard Shortcuts」と入力します
  3. 検索ボックスに「Bob.acceptInput」と入力します
  4. 結果から「Bob: Accept Input/Suggestion」を見つけます
  5. コマンドの左側にある+記号をクリックします
  6. 希望のキーの組み合わせを押します(例:Ctrl+EnterまたはAlt+Enter
  7. Enterを押して確認します

方法2: keybindings.jsonを直接編集する

  1. コマンド パレットを開きます(Ctrl+Shift+PまたはMacでCmd+Shift+P
  2. 「Preferences: Open Keyboard Shortcuts (JSON)」と入力します
  3. JSON配列に次のエントリを追加します:
{
  "key": "ctrl+enter",  // または好みのキーの組み合わせ
  "command": "Bob.acceptInput",
  "when": "BobViewFocused"  // これは、Bobがフォーカスされているときにのみコマンドが機能することを保証するコンテキスト条件です
}

より具体的な条件を使用することもできます:

{
  "key": "ctrl+enter",
  "command": "Bob.acceptInput",
  "when": "webviewViewFocus && webviewViewId == 'Bob-cline.SidebarProvider'"
}

推奨されるキー・バインド

既存のIBM Bobキーボード・ショートカットと競合しないキーの組み合わせを選択してください:

  • Alt+Enter - 入力中に押しやすい
  • Ctrl+Space - 自動補完を使用する人にとって馴染みがある
  • Ctrl+Enter - コマンドを実行するのに直感的
  • Alt+A - 「Accept」のニーモニック

実用的なユースケース

迅速な開発ワークフロー

  • テキスト送信: キーボードから手を離さずにBobにメッセージを送信
  • アクション確認: ファイルの保存、コマンドの実行、差分の適用などの操作を受け入れる
  • 複数ステップ・プロセス: 確認や入力が必要なステップを素早くナビゲート
  • 連続タスク: 最小限の中断で複数のタスクをチェーン

キーボード中心の開発

  • Vim/Neovimワークフロー: Vim/Neovimバックグラウンドから来た場合、キーボード指向のワークフローを維持
  • IDE統合: 他のIBM Bobキーボード・ショートカットと一緒に使用してシームレスな体験
  • コード・レビュー: Bobでコードをレビューする際に提案を素早く受け入れる
  • ドキュメント作成: ドキュメントを生成する際にテキストを送信し、フォーマット提案を受け入れる

アクセシビリティーのユースケース

  • 手の可動性の制限: マウスの使用が困難なユーザーにとって不可欠
  • 反復性ストレス障害の予防: マウスの使用を減らして反復性ストレス障害を予防または管理
  • スクリーン・リーダー統合: 視覚障害のあるユーザー向けのスクリーン・リーダーとうまく機能
  • 音声制御互換性: 音声制御ソフトウェアを使用する場合、音声コマンドでトリガー可能

アクセシビリティーの利点

Bob.acceptInputコマンドは、アクセシビリティーを念頭に置いて設計されました:

  • マウス依存の削減: マウスに手を伸ばすことなく完全なワークフローを完了
  • 身体的負担の軽減: マウス使用時に不快感や痛みを感じるユーザーを支援
  • 代替入力方法: キーボード・ナビゲーションに依存する移動制限のあるユーザーをサポート
  • ワークフロー効率化: Vim/Neovimなどのキーボード中心の環境からのユーザーにとって特に価値がある

キーボード中心のワークフロー

キーボード・ショートカットをBobで効果的に使用する方法を示す完全なワークフロー例を以下に示します:

開発ワークフローの例

  1. IBM Bobを開き、プロジェクトに移動します
  2. サイドバーからBobを開きます
  3. リクエストを入力します:「ユーザー登録用のREST APIエンドポイントを作成」
  4. Bobがフレームワークの設定について尋ねたら、Bob.acceptInputキーボード・ショートカットを使用して最初の提案を選択します
  5. コード生成の提案を受け入れるためにキーボード・ショートカットを使い続けます
  6. Bobがファイルを保存することを提案したら、キーボード・ショートカットを再度使用して確認します
  7. IBM Bobの組み込みキーボード・ショートカットを使用して、作成されたファイルをナビゲートします

コード・レビュー・ワークフロー

  1. レビューしたいコードを選択し、IBM Bobの「コピー」コマンドを使用します
  2. Bobにレビューを依頼します:「このコードをセキュリティー問題についてレビュー」
  3. Bobがコード・コンテキストについて明確化の質問をする間、キーボード・ショートカットを使用して提案を受け入れます
  4. Bobが改善の推奨事項を提供したら、キーボード・ショートカットを再度使用して実装提案を受け入れます

トラブル・シューティング

問題解決策
キーボード・ショートカットが機能しないBobがフォーカスされていることを確認してください(最初にBobパネルをクリック)
間違った提案が選択されたコマンドは常に最初の(主要な)ボタンを選択します;別のオプションが必要な場合はマウスを使用してください
既存のキーボード・ショートカットとの競合IBM Bobキーボード設定で別のキーの組み合わせを試してください
使用時に視覚的なフィードバックがないこれは正常です - コマンドは視覚的な確認なしに機能を静かにアクティブ化します
キーボード・ショートカットが一貫性なく機能するkeybindings.jsonのwhen句が正しく構成されていることを確認してください(BobViewFocusedまたはwebview固有の条件のいずれか)

技術的な実装

Bob.acceptInputコマンドは次のように実装されています:

  • コマンド パレットに表示タイトル「Bob: Accept Input/Suggestion」でBob.acceptInputとして登録
  • トリガーされると、アクティブなBob webviewに「acceptInput」メッセージを送信
  • webviewは現在のUI状態に基づいて適切なアクションを決定:
    • アクション・ボタンが表示され有効になっている場合、主要なアクション・ボタンをクリック
    • テキスト・エリアが有効でテキスト/画像が含まれている場合、メッセージを送信
  • デフォルトのキー・バインドなし - ユーザーが好みのキーボード・ショートカットを割り当てる

制限事項

  • Bobインターフェースがアクティブな場合にのみ機能
  • 現在入力や提案が利用できない場合は効果なし
  • 複数のオプションが表示されている場合、主要な(最初の)ボタンを優先
このトピックはいかがですか?