기능

컨텍스트 언급(Context mentions)

정확하고 컨텍스트를 인지하는 지원을 받으려면 @멘션을 사용하여 Bob 대화에서 직접 프로젝트의 특정 요소를 참조하세요.

언급 유형

컨텍스트 언급을 통해 프로젝트의 다양한 요소를 참조할 수 있습니다.

언급 유형형식설명사용 예시
파일@/path/to/file.ts요청 컨텍스트에 파일 내용을 포함합니다Explain the function in @/src/utils.ts
폴더@/path/to/folder폴더 바로 아래에 있는 모든 파일의 내용을 포함합니다(비재귀적)Analyze the code in @/src/components
Problems@problemsIBM Bob Problems 패널 진단을 포함합니다@problems Fix all errors in my code
터미널@terminal최근 터미널 명령과 출력을 포함합니다Fix the errors shown in @terminal
Git 커밋@a1b2c3d해시로 특정 커밋을 참조합니다What changed in commit @a1b2c3d?
Git 변경 사항@git-changes커밋되지 않은 변경 사항을 보여줍니다Suggest a message for @git-changes
URL@https://example.com웹사이트 콘텐츠를 가져옵니다Summarize @https://docusaurus.io/

파일 언급

파일 언급은 가장 흔하게 사용되는 유형으로, Bob과의 대화에 특정 파일의 내용을 포함할 수 있게 해줍니다.

기능세부 정보
형식@/path/to/file.ts (항상 작업 영역 루트 기준 /로 시작)
제공 사항행 번호가 포함된 파일 내용 전체
호환 대상텍스트 파일, PDF 및 DOCX 파일(텍스트 추출 포함)
작동 환경초기 요청, 피드백 응답 및 후속 메시지
제한 사항파일이 매우 크면 잘릴 수 있으며, 바이너리 파일은 지원되지 않습니다
팁:

용량이 큰 파일의 경우, 파일 경로 뒤에 행 번호를 붙여 특정 섹션만 언급할 수 있습니다. 예를 들어 @/src/app.js:10-20을 사용하면 10-20행만 포함됩니다.

폴더 언급

폴더 언급을 사용하면 한 번에 여러 파일을 참조할 수 있어 디렉토리의 더 넓은 컨텍스트를 제공할 수 있습니다.

기능세부 정보
형식@/path/to/folder (끝에 슬래시 제외)
제공 사항디렉토리 내 모든 파일의 전체 내용
포함 사항폴더 바로 아래에 있는 비바이너리 텍스트 파일의 내용(비재귀적)
최적 용도디렉토리 내 여러 파일의 컨텍스트를 한 번에 제공할 때
규모가 큰 디렉토리를 언급할 때는 context window 제한에 유의하세요
참고:

폴더 언급은 비재귀적입니다. 즉, 하위 폴더의 파일은 제외하고 지정된 폴더에 직접 위치한 파일만 포함합니다.

Problems 언급

Problems 언급은 IBM Bob의 Problems 패널에서 진단 정보를 가져와 여러 문제를 한 번에 해결할 수 있도록 도와줍니다.

기능세부 정보
형식@problems
제공 사항IBM Bob의 Problems 패널에 표시된 모든 오류 및 경고
포함 사항파일 경로, 행 번호 및 진단 메시지
그룹화명확성을 높이기 위해 파일별로 분류된 문제 정보
최적 용도수동으로 복사하지 않고도 오류를 수정할 때

사용 예시: @problems Can you help me fix all these issues?

터미널 언급

터미널 언급은 최근 명령 출력을 캡처하여 빌드 오류 디버깅이나 명령 결과 분석을 도와줍니다.

기능세부 정보
형식@terminal
캡처 내용마지막 명령 및 관련 출력 전체
유지 사항터미널 상태(터미널을 초기화하지 않음)
제한 사항터미널 버퍼에 표시되는 콘텐츠로 제한됨
최적 용도빌드 오류 디버깅 또는 명령 출력 분석

빌드 실패를 트러블슈팅할 때, What is wrong with @terminal?을 입력해보세요. 출력을 수동으로 복사할 필요 없이 오류에 대한 즉각적인 통찰력을 얻을 수 있습니다.

Git 언급

Git 언급은 커밋과 변경 사항을 참조하여 버전 관리를 수월하게 할 수 있도록 돕습니다.

유형형식제공 사항제한 사항
커밋@a1b2c3d커밋 메시지, 작성자, 날짜 및 전체 diffGit 리포지토리 내에서만 작동
작업 중인 변경 사항@git-changesgit status 출력 및 커밋되지 않은 변경 사항의 diffGit 리포지토리 내에서만 작동

사용 예시: What's the purpose of @a1b2c3d? 또는 Suggest a commit message for @git-changes

URL 언급

URL 언급을 사용하면 Bob과의 대화에서 외부 웹 콘텐츠를 참조할 수 있습니다.

기능세부 정보
형식@https://example.com
처리 방식헤드리스 브라우저를 사용하여 콘텐츠를 가져옴
정리 방식스크립트, 스타일 및 내비게이션 요소를 제거함
출력 방식가독성을 높이기 위해 콘텐츠를 Markdown으로 변환
제한 사항복잡한 페이지의 경우 변환이 완벽하지 않을 수 있음
팁:

URL 언급은 문서를 참조할 때 유용합니다. 공식 문서를 컨텍스트 삼아 개념을 이해하려면 Can you explain @https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise를 시도해보세요.

컨텍스트 언급 사용하기

채팅 입력창에 @를 입력하여 제안 dropdown을 띄웁니다.

계속 타이핑하여 제안을 필터링하거나 방향키를 사용하여 이동합니다.

Enter 키를 누르거나 마우스 클릭으로 선택합니다.

요청 하나에 여러 언급을 결합할 수 있습니다: "Fix @problems in @/src/component.ts"

팁:

텍스트를 하이라이트한 다음 단축키 + L을 사용하면 대화창에 바로 추가할 수 있습니다.

dropdown에는 다음이 자동으로 추천됩니다.

  • 최근에 열었던 파일
  • 표시된 폴더
  • 최근 Git 커밋
  • 특수 키워드(problems, terminal, git-changes)
  • 현재 열려 있는 모든 파일(무시 설정이나 디렉토리 필터와 관계없이 무관함)

dropdown은 불필요한 노이즈를 줄이기 위해 node_modules, .git, dist, out과 같은 일반적인 디렉토리를 자동으로 걸러냅니다. 단, 직접 입력하는 경우에는 이러한 디렉토리의 콘텐츠도 포함할 수 있습니다.

팁:

단일 요청에 여러 언급을 조합할 수 있습니다. Compare @/src/v1/api.js with @/src/v2/api.js and explain the differences를 입력해 보세요.

중요하게 다루는 동작

무시 파일 상호작용

컨텍스트 언급은 무시된 파일과 상호작용할 때 특정한 동작을 보입니다.

동작설명
.bobignore 우회파일 및 폴더 @mentions는 컨텍스트용 콘텐츠를 가져올 때 .bobignore 검사를 우회합니다. 무시된 파일의 콘텐츠라도 직접 언급하면 포함됩니다.
.gitignore 우회마찬가지로, 파일 및 폴더 @mentions는 콘텐츠를 가져올 때 .gitignore 규칙을 준수하지 않습니다.
Git 명령 준수Git 관련 언급(@git-changes, @commit-hash)은 Git 명령에 의존하므로 .gitignore를 준수합니다.

컨텍스트 언급은 무시 규칙을 우회하므로, 평소에는 Bob이나 Git에 의해 무시되는 특정 파일을 참조할 수 있습니다. 이 기능은 자동으로 생성된 파일이나 주로 무시되는 기타 콘텐츠에 대해 논의해야 할 때 특히 유용합니다.

종합 정리

컨텍스트 언급은 프로젝트 요소를 정확하게 가리킴으로써 Bob과의 상호작용을 개선합니다. 코드를 복사해서 붙여넣거나 파일 위치를 일일이 설명하는 대신, 논의 중인 대상을 직접 언급할 수 있습니다.

다양한 언급 유형의 효율적인 조합 예시:

  • Fix @problems in @/src/components and explain what was wrong
  • Review @git-changes and suggest improvements
  • Compare @/v1/api.js with @https://api-docs.example.com and check for inconsistencies

컨텍스트 언급을 효과적으로 사용하면 Bob과 더욱 명확하게 소통하고 더 정확하게 목표를 겨냥한 지원을 받을 수 있습니다.

이 주제는 어떤가요?