구성
키보드 단축키
키보드 단축키를 사용하여 워크플로우를 간소화하고 마우스 상호 작용에 대한 의존도를 줄입니다.
사용 가능한 키보드 명령
Bob은 워크플로우를 향상시키기 위한 키보드 단축키를 제공합니다. 이 페이지는 Bob.acceptInput 명령에 중점을 두지만 다음은 주요 키보드 단축키에 대한 빠른 참조입니다:
| 명령 | 설명 | 기본 키 바인딩 |
|---|---|---|
Bob.acceptInput | 텍스트 전송 또는 기본 제안 수락 | 없음(구성 가능) |
Bob.focus | Bob 입력 필드에 포커스 | 없음(구성 가능) |
| 인라인 편집 | 에디터에서 직접 코드 편집 | 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 사용
- 명령 팔레트를 엽니다(Ctrl+Shift+P 또는 Mac에서 Cmd+Shift+P)
- "Preferences: Open Keyboard Shortcuts" 입력
- 검색 필드에 "Bob.acceptInput" 입력
- 결과에서 "Bob: Accept Input/Suggestion" 찾기
- 명령 왼쪽의 + 기호 클릭
- 원하는 키 조합을 누릅니다(예: Ctrl+Enter 또는 Alt+Enter)
- Enter를 눌러 확인
방법 2: keybindings.json 직접 편집
- 명령 팔레트를 엽니다(Ctrl+Shift+P 또는 Mac에서 Cmd+Shift+P)
- "Preferences: Open Keyboard Shortcuts (JSON)" 입력
- 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과 함께 키보드 단축키를 효과적으로 사용하는 방법을 보여주는 몇 가지 완전한 워크플로우 예제입니다:
개발 워크플로우 예제
- IBM Bob을 열고 프로젝트로 이동
- 사이드바를 통해 Bob 열기
- 요청 입력: "사용자 등록을 위한 REST API 엔드포인트 생성"
- Bob이 프레임워크 기본 설정을 묻는 경우
Bob.acceptInput키보드 단축키를 사용하여 첫 번째 제안 선택 - 코드 생성 제안을 수락하기 위해 키보드 단축키를 계속 사용
- Bob이 파일 저장을 제안하면 키보드 단축키를 다시 사용하여 확인
- IBM Bob의 내장 키보드 단축키를 사용하여 생성된 파일 탐색
코드 리뷰 워크플로우
- 검토하려는 코드를 선택하고 IBM Bob의 "복사" 명령 사용
- Bob에게 검토 요청: "이 코드의 보안 문제 검토"
- Bob이 코드 컨텍스트에 대한 명확한 질문을 하는 동안 키보드 단축키를 사용하여 제안 수락
- Bob이 개선 권장 사항을 제공하면 키보드 단축키를 다시 사용하여 구현 제안 수락
문제 해결
| 문제 | 해결 방법 |
|---|---|
| 키보드 단축키가 작동하지 않음 | Bob에 포커스가 있는지 확인(먼저 Bob 패널 클릭) |
| 잘못된 제안 선택됨 | 명령은 항상 첫 번째(기본) 버튼을 선택합니다. 다른 옵션이 필요한 경우 마우스 사용 |
| 기존 키보드 단축키와 충돌 | IBM Bob 키보드 설정에서 다른 키 조합 시도 |
| 사용 시 시각적 피드백 없음 | 정상입니다 - 명령은 시각적 확인 없이 기능을 자동으로 활성화합니다 |
| 키보드 단축키가 일관되지 않게 작동 | keybindings.json의 when 절이 올바르게 구성되었는지 확인(BobViewFocused 또는 webview 특정 조건) |
기술 구현
Bob.acceptInput 명령은 다음과 같이 구현됩니다:
- 명령 팔레트에서 표시 제목 "Bob: Accept Input/Suggestion"으로
Bob.acceptInput으로 등록된 명령 - 트리거되면 활성 Bob webview에 "acceptInput" 메시지 전송
- Webview는 현재 UI 상태에 따라 적절한 작업 결정:
- 작업 버튼이 표시되고 활성화된 경우 기본 작업 버튼 클릭
- 텍스트 영역이 활성화되고 텍스트/이미지가 포함된 경우 메시지 전송
- 기본 키 바인딩 없음 - 사용자가 선호하는 키보드 단축키 할당
제한 사항
- Bob 인터페이스가 활성화된 경우에만 작동
- 현재 사용 가능한 입력이나 제안이 없는 경우 효과 없음
- 여러 옵션이 표시될 때 기본(첫 번째) 버튼 우선
이 주제는 어떤가요?