logo
Search검색어를 포함하는 게시물들이 최신순으로 표시됩니다.
    Navigation
    Table of Contents
    CodeRabbit VSCode Extension

    이미지 보기

    CodeRabbit VSCode Extension

    AI가 공짜로 코드리뷰 해주는 VSCode Extension

    • 25.11.01 작성

    • 읽는 데 10

    TOC

    작업 배경

    이번 포스팅에서는 CodeRabbit이라는 AI 코드리뷰 서비스와 VSCode Extension을 소개하려 합니다. 바야흐로 약 반 년 전, 사내에서 정보를 교류하던 타 팀 선임급 개발자분께 이번 포스팅의 내용을 Notion으로 정리해 공유했는데 반응이 좋았어요.

    메신저 1

    팀 내에 공유하신다고 하셔서 뿌듯했습니다.

    그런데 이 사실을 알고 있는 지인이 얼마 전 개인적으로 링크를 부탁하고 또 팀에 공유를 한다고 하더군요.

    메신저 2

    이쯤 되니 그냥 한 번 포스팅으로 정리해서 소개를 할까 싶었습니다.

    그런 이유라서 이런 점들은 참고해주시면 좋습니다.

    • 글이 자세하고 친절하지는 않을 것 같아요. 말 그대로 개인간 소개용 글이었거든요.
    • Notion에 잠들어 있던 글이예요. 2025년 5월 기준으로 작성되었으니, 기능이 변경되었을 수 있어요.

    일단 작성 시점인 현재 11월에도 크게 UI나 기능이 바뀐 건 없어 보입니다만, AI 시장 자체가 매우 빠르게 발전하고 있어 더 좋은 AI 코드리뷰 서비스가 어디선가 나왔을 수도 있겠네요. 관련해서 발견한다면 또 포스팅으로 소개해보겠습니다.

    Code Rabbit

    CodeRabbit 소개

    CodeRabbit은 코드 리뷰 AI툴입니다.

    https://www.coderabbit.ai/
    • 강력한 코드리뷰 기능을 지원합니다.
    • 코드 흐름, 코드 퀄리티, 휴먼 에러 등을 분석하여 댓글을 달아줍니다.
    • GitHub, Gitlab, Bitbucket 등의 플랫폼을 지원합니다.

    아래부터는 사이드 프로젝트인 git-animals에서 사용중인 CodeRabbit bot의 내용을 캡쳐하며 기능을 설명하겠습니다. 구체적인 PR은 이 링크를 참고해주세요.

    CodeRabbit의 기능

    Walkthrough

    코드 변경을 요약해줍니다.

    코드 변경 요약

    Sequence Diagram

    로직 흐름을 시각화해줍니다.

    로직 흐름 시각화

    Poem

    쓸 데는 없지만 변경 내용으로 시도 써줍니다.

    코드 리뷰 결과 요약

    CodeRabbit의 아쉬움

    무료 플랜의 한계

    Pricing에 따르면 무료 버전에서는 단순 코드리뷰 요약(summarization) 기능만 사용하거나, 사용률 제한 등 제한 사항이 있습니다. 또한 위에서 소개드린 기능보다 훨씬 강력한 기능들이 있음에도 무료 버전에서는 사용할 수 없습니다.

    Pricing

    하지만 괜찮습니다. 대부분 일반적인 hobby 수준의 개발에서는 무료 플랜도 충분히 넓은 범위와 기능을 제공하니까요.

    휴먼 터치의 감소

    팀으로 운영된다면 Pull Request에는 동료의 리뷰가 달리기 마련입니다. 그런데 CodeRabbit이 이미 다양한 리뷰를 달아주다보니, 동료들이 개입할 수 있는 부분이 적어집니다. 리소스를 아끼는 측면에서는 강력한 장점이지만, 동료들의 세심한 터치가 떨어져 convention을 놓치거나 심하면 매너리즘에 빠져 코드 리뷰 체계가 무너질 수도 있겠죠. (유료 플랜에서는 Context나 convention의 Learning이 가능해서 조금 더 나은 퍼포먼스를 보일 수 있습니다.)

    Pull Request의 초기 품질

    변경이 필요한 코드들이 Local에서 정제되지 않고 원격에 올라가 이력에 남게 되는 아쉬움도 있습니다. 사람과 AI의 리뷰가 혼재되는 일도 비일비재합니다.

    VS Code Extension

    위의 문제를 일부 해결할 VSCode Extension이 나왔습니다. 에디터 레벨에서 코드 리뷰를 해주는 기능을 제공합니다. 공식 사이트에서 관련 블로그 포스트도 작성했고요.

    VS Code Extension

    사용 방법

    1. extension을 설치합니다. (설치 링크)
    2. CodeRabbit 계정을 연결합니다.
    3. Editor에서 확인합니다.

    기능

    BRANCH 탭에서 target branch를 변경할 수 있습니다.

    Target Branch 변경

    code diff의 scope에 따라 국소적, 종합적 코드리뷰를 모두 받을 수 있습니다.

    조금 더 상세하게는 1) 커밋된 내용, 2) 커밋되지 않은 내용, 3) 모든 변경 으로 범위를 상세히 구분할 수도 있습니다.

    Target Change 변경

    실제 리뷰 결과

    개인 프로젝트에서 코드 리뷰를 돌린 결과 예시입니다.

    • 잘못 사용된 변수(중복 사용)에서 잠재적 위험을 확인해줍니다.
    • 네이밍이나 잘못된 타입들을 바로 잡아줍니다.
    • Cursor처럼 코드를 제안하고 reject/accept를 결정할 수 있습니다.
    실제 리뷰 결과 1
    • refactoring을 제안하기도 합니다.
    • 예시에서는 사용하지 않는 클래스를 제거하라고 나왔네요.
    실제 리뷰 결과 2 실제 리뷰 결과 3
    • 성능 최적화에 대한 제안도 해주고,
    • 잘했다면 잘했다고 언급도 해줍니다.
    실제 리뷰 결과 4

    한계

    Local 기반

    • 기존 CodeRabbit은 remote repository의 PR/MR의 최신 Branch와 Diff를 비교했습니다.
    • 하지만, VSCode extension이다보니 Local branch 간의 Diff만 확인하여 리뷰합니다.
    • 특정 시점의 target branch snapshot과 비교하다보니 최신화가 중요해지게 됩니다.

    지원하지 않는 기능

    이 extension은 변경 사항에 대한 리팩토링 제안, 잠재적 위험 감지, 최적화 등에 초점을 맞췄습니다.

    • flow를 시각화해주는 Sequence Diagram 기능은 지원하지 않습니다.
    • diff에 대한 요약을 표나 텍스트로 정리해주지 않습니다.
    • 아쉽게도 시를 써주지 않습니다.

    마치며

    결론

    • 무료로 사용할 수 있는 툴임을 고려하면 정말 강력한 기능을 지원하는 툴입니다.
    • 협업툴은 아니지만, 개인 코드 퀄리티를 높이고 휴먼 에러를 손쉽게 방지할 수 있습니다.

    맺음말

    CodeRabbit과 CodeRabbit VSCode Extension을 간단히 소개해드렸습니다. 도움이 되시길 바라겠습니다.

    또한 처음에 밝혔듯이 글이 반년이 된 내용이다보니 이전보다 기능은 더 많이 제공하되, free limit이 생긴 것으로 보입니다. 유료 플랜으로 유도하는 팝업이 자꾸 뜨네요. 자선사업이 아니니 세상에 완전한 무료는 역시 없나 봅니다.

    Pop-up

    혹시나 내용에 문제와 오류가 있다면 제보해주시면 수정하겠습니다. 감사합니다:)

    profile

    FE Developer 박승훈

    노력하는 자는 즐기는 자를 이길 수 없다