구성

키보드 단축키

키보드 단축키를 사용하여 워크플로우를 간소화하고 마우스 상호 작용에 대한 의존도를 줄입니다.

사용 가능한 키보드 명령

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 - "수락"을 위한 니모닉

실용적인 사용 사례

빠른 개발 워크플로우

  • 텍스트 제출: 키보드에서 손을 떼지 않고 Bob에게 메시지 전송
  • 작업 확인: 파일 저장, 명령 실행 또는 diff 적용과 같은 작업 수락
  • 다단계 프로세스: 확인 또는 입력이 필요한 단계를 빠르게 탐색
  • 연속 작업: 최소한의 중단으로 여러 작업 연결

키보드 중심 개발

  • 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 인터페이스가 활성화된 경우에만 작동
  • 현재 사용 가능한 입력이나 제안이 없는 경우 효과 없음
  • 여러 옵션이 표시될 때 기본(첫 번째) 버튼 우선
이 주제는 어떤가요?