IntelliJ에서 Gemini CLI를 MCP로 연결하면, AI가 IDE의 맥락을 이해한 채로 코딩을 도와줄 수 있다. 단순 파일 읽기를 넘어서 프로젝트 구조, 언어, 프레임워크까지 파악하는 게 핵심이다.
IntelliJ와 Gemini CLI는 어떻게 소통하나
Gemini CLI는 원래 컴퓨터에 있는 파일만 보고 작업한다. 하지만 JetBrains MCP (Model Context Protocol)라는 통신 채널이 열리면, IntelliJ가 코드를 이해하는 방식 그대로 프로젝트를 보고 작업할 수 있게 된다.
왜 중요한가?
- IDE의 눈으로 코드 보기: IntelliJ가 생각하는 '프로젝트의 구조', '이 파일은 어떤 언어로 되어 있는지', '이 변수는 어디에서 선언됐는지' 등을 정확히 알 수 있다.
- 더 정확한 작업: 오류를 줄이고, 프로젝트에 딱 맞는 맞춤형 도움을 줄 수 있다.
Gemini CLI가 IntelliJ에서 할 수 있는 일들
IntelliJ와 연결된 상태에서 다음과 같은 작업들을 수행할 수 있다. 페어 프로그래밍하는 동료라고 생각하면 된다.
프로젝트 한눈에 파악하기
프로젝트 전체의 '설계도'를 읽는다고 생각하면 쉽다.
- 모듈 구조 확인: 프로젝트가 여러 개의 작은 부분(모듈)으로 나뉘어 있는지, 각각의 모듈은 어떤 역할을 하는지 파악한다.
- 사용 기술 감지: 어떤 프로그래밍 언어, 프레임워크(예: Spring Boot, React), 라이브러리 버전을 사용하는지 IDE의 정보를 바탕으로 정확하게 알려준다.
- 핵심 파일 위치: Java 소스 파일은 어디에 있고, 설정 파일이나 HTML 같은 리소스 파일은 어디에 모여 있는지 알아낸다.
이런 식으로 활용할 수 있다. "우리 프로젝트가 어떻게 구성되어 있는지 전체적인 그림을 그려줘." "이 Spring Security 프로젝트가 어떤 버전의 Spring Boot를 쓰는지 알려줘."
코드 쉽게 찾아보기
IntelliJ에서 파일을 열고 내용을 보거나, 코드 속에서 특정 단어를 검색하는 것처럼 직접 파일들을 탐색할 수 있다.
- 파일 내용 확인: 특정 소스 파일, 설정 파일의 현재 내용을 읽어서 보여줄 수 있다.
- 코드 패턴 검색: 프로젝트 전체에서 특정 변수 이름, 함수 호출, 주석 등을 빠르게 찾아서 관련 코드를 보여줄 수 있다.
이런 식으로 활용할 수 있다. "SecurityConfig.java 파일 내용을 보여줘." "프로젝트에서 PasswordEncoder라는 단어가 사용된 곳을 전부 찾아줘."
코드 깔끔하게 수정하기
IntelliJ 에디터에서 직접 코드를 수정하는 것처럼, 필요한 부분을 변경할 수 있다. 코드를 수정하면 IntelliJ는 그 변경사항을 즉시 감지하고, 필요한 경우 자동으로 코드 하이라이팅이나 에러 체크를 다시 해준다.
- 코드 블록 수정: 특정 메서드의 로직을 바꾸거나, 새로운 코드 라인을 추가/삭제할 수 있다.
- 설정 파일 업데이트:
application.yml같은 설정 파일의 값을 변경해서 앱의 동작을 조정할 수 있다. - 새 파일 생성: 새로운 클래스 파일이나 리소스 파일을 만들어서 기능을 확장할 수 있다.
이런 식으로 활용할 수 있다. "SecurityConfig.java 파일에서 loginPage 경로를 /custom-login으로 바꿔줘." "새로운 MyCustomFilter.java 파일을 만들고, OncePerRequestFilter를 상속받은 기본 구조를 작성해줘."
프로젝트 빌드하고 테스트하기
IntelliJ 터미널에서 명령어를 입력하는 것처럼, 프로젝트 빌드, 테스트 실행, 애플리케이션 실행 등의 명령을 수행할 수 있다.
- 프로젝트 빌드:
gradle build나mvn clean install같은 명령을 실행해서 프로젝트를 컴파일하고 에러가 없는지 확인한다. - 테스트 실행: 특정 테스트 클래스나 전체 테스트 스위트를 실행해서 변경사항이 다른 부분에 영향을 주지 않는지 확인한다.
- 애플리케이션 실행: 개발 서버를 구동해서 애플리케이션이 정상적으로 시작되는지 확인할 수 있다.
이런 식으로 활용할 수 있다. "최근에 수정한 코드가 문제가 없는지 gradle build 명령으로 확인해줘." "회원가입 기능 테스트를 실행해줘."