Diagnostics

Kiro가 IDE에 설치된 언어 확장과 연동해 코드 오류, 타입 불일치, 린트 위반을 실시간으로 파악하고 더 정확한 도움을 제공하도록 만드는 진단 도구입니다.

개요

Diagnostics는 IDE에 설치된 확장(extension)에서 나오는 신호를 Agent가 직접 읽을 수 있게 연결해 주는 기능입니다. 덕분에 Kiro는 단순히 텍스트를 보고 추측하는 것이 아니라, 실제 언어 서버가 보고하는 문제 정보를 근거로 코드를 검토하고 수정 제안을 만들 수 있습니다.

동작 방식

설치된 언어 확장이 활성화되어 있으면 Agent는 다음과 같은 정보를 활용합니다.

시작하기

특별한 설정 화면을 거칠 필요는 없습니다. 언어 확장이 켜져 있고 해당 언어의 파일이 열려 있다면, Agent가 작업하는 동안 Diagnostics가 자동으로 동작합니다.

  1. 작업 중인 언어에 맞는 확장을 설치합니다. Python, TypeScript/JavaScript, Java 가이드에 권장 확장 목록이 정리되어 있습니다.
  2. 해당 언어의 파일을 한 번 열어 language server가 기동되도록 합니다. 이후부터 Agent가 진단 정보를 읽을 수 있습니다.
Tip. 한 프로젝트에 여러 언어가 섞여 있다면, 사용 중인 모든 언어의 확장을 미리 설치해 두는 편이 좋습니다. Agent가 파일을 옮겨 다닐 때마다 진단이 끊기지 않습니다.

문제 해결

Agent가 명백한 오류를 인식하지 못한다면, 보통은 language server가 제대로 떠 있지 않은 경우입니다. 다음 순서로 점검해 보세요.

  1. 확장 상태 확인 — Extensions 패널에서 해당 언어 확장이 비활성화되어 있지 않은지 살펴봅니다.
  2. 출력 로그 확인 — Output 패널에서 language server가 남긴 오류 메시지를 검토합니다.
  3. 창 새로고침 — Command Palette에서 reload 명령을 실행해 language server를 다시 띄웁니다.
  4. 확장 업데이트 — 확장을 최신 버전으로 유지하면 새로운 진단 규칙과 버그 수정이 반영됩니다.
주의. 대형 프로젝트에서는 language server가 인덱싱을 마칠 때까지 잠시 기다려야 정확한 진단이 표시됩니다. 인덱싱이 끝나기 전에 Agent를 실행하면 일부 오류가 누락될 수 있습니다.

다음 단계

언어별 권장 확장과 설정은 각 언어 가이드에서 확인할 수 있습니다. 또한 Diagnostics는 dev servers와 함께 쓸 때 특히 강력합니다. 빌드/런타임 오류와 정적 진단을 함께 활용하면 Agent가 더 빠르게 원인을 좁혀 갑니다.