가벼움을 쫓다 결국은 PhpStorm으로 기어들어온 며칠간의 삽질 기록

시작은 아주 사소한 ‘불편함’이었다

사실 나는 오랫동안 VS Code 예찬론자였다. 무료고, 가볍고, 예쁘니까. 필요한 기능이 있으면 익스텐션을 설치하면 그만이라고 생각했다. 하지만 프로젝트 규모가 커지고 라라벨(Laravel) 프레임워크를 깊게 파기 시작하면서 상황이 묘하게 꼬이기 시작했다. 분명 익스텐션을 10개 넘게 깔았는데도 코드 점프가 가끔 먹통이 되거나, 클래스 이름을 바꿀 때마다 혹시 어디 빼먹은 곳은 없는지 전체 검색을 돌려야 하는 불안함이 엄습했다.

‘내가 코딩을 하는 건가, 익스텐션 관리자를 하는 건가?’

이 의문이 머릿속을 떠나지 않을 때쯤, 주변 개발자들이 입을 모아 칭찬하던 PhpStorm이 떠올랐다. 유료라는 점이 늘 걸림돌이었지만, 내 소중한 퇴근 시간을 갉아먹는 이 자잘한 스트레스를 줄일 수 있다면 충분히 투자할 가치가 있지 않을까? 그렇게 나는 ‘일단 한번 써보자’는 가벼운 마음으로 설치 버튼을 눌렀다. 솔직히 말하면 이때까지만 해도 금방 다시 VS Code로 돌아갈 줄 알았다.

첫 번째 실패: ‘익숙함’이라는 함정에 빠지다

설치하고 처음 마주한 PhpStorm의 UI는… 한마디로 ‘질식할 것 같았다’. 뭐가 이렇게 많은지. 화면 사방에 아이콘이 박혀 있고 설정창은 끝도 없이 이어졌다. 여기서 첫 번째 삽질이 시작됐다. 나는 이 강력한 도구를 ‘VS Code처럼’ 만들려고 애썼다.

단축키를 전부 VS Code 스타일로 바꾸는 플러그인을 깔고, 화면 구성을 최대한 미니멀하게 깎아내기 시작했다. 이게 문제였다. PhpStorm의 정체성은 그 수많은 기능이 유기적으로 연결되어 있다는 데 있는데, 내가 그걸 다 가리고 단축키까지 꼬아버리니 도구가 제 성능을 낼 리가 없었다. 특정 리팩토링 기능을 쓰려고 하면 내가 바꾼 단축키와 기본 단축키가 충돌해서 엉뚱한 창이 떴고, 그걸 고치겠다고 설정창을 뒤지느라 정작 코드 한 줄 못 쓰는 시간이 길어졌다.

결국 이틀 만에 ‘이건 나랑 안 맞나 봐’ 하고 삭제했다. 하지만 다시 돌아간 VS Code는 여전히 나를 불안하게 했다. 결국 다시 설치했다. 이번에는 내 고집을 버리고 ‘이 툴의 방식’을 따르기로 했다. 설정은 기본값으로 되돌렸고, 대신 툴이 제안하는 방식을 하나씩 익혀나갔다. 역시 도구의 성격에 맞춰 나를 변화시키는 과정이 필요했다.

두 번째 실패: 도커(Docker)와 Xdebug, 그 끝없는 핑퐁 게임

가장 큰 고비는 디버깅 환경 구축이었다. 개발 환경이 복잡해질수록 print_r이나 var_dump로 변수를 찍어보는 데 한계가 왔다. PhpStorm이 자랑하는 시각적 디버깅 도구를 꼭 써보고 싶었다. 가이드 문서를 보면 ‘클릭 몇 번이면 끝난다’고 적혀 있었지만, 내 환경은 도커 위에서 돌아가고 있었다.

여기서 두 번째 기술적 장벽에 부딪혔다. PhpStorm에서 도커 컨테이너를 인식시키고 Xdebug를 연동하는 과정은 그야말로 지옥이었다. 포트를 9003으로 맞추고, php.ini를 수정하고, IDE 설정을 만졌다. 그런데도 브레이크 포인트를 걸면 감감무소식이었다.

‘왜 안 되는 거지?’

세 시간 동안 구글링과 재시작을 반복했다. 알고 보니 윈도우 방화벽 문제와 도커 내부 IP 매핑 설정이 미묘하게 어긋나 있었다. 중간에 너무 짜증이 나서 그냥 예전처럼 로그 찍어서 디버깅할까 수만 번 고민했다. 하지만 여기서 포기하면 앞으로도 계속 이 고생을 할 게 뻔했다. 결국 끈질기게 붙잡고 늘어진 끝에, 브레이크 포인트에서 코드가 딱 멈추고 변수들이 한눈에 들어오는 순간을 맞이했다. 그때의 희열이란. 사실 이 과정에서 ‘그냥 유료 강의를 하나 살 걸 그랬나’ 하는 후회가 들기도 했지만, 직접 고생하며 뚫어낸 덕분에 이제는 설정이 꼬여도 어디를 봐야 할지 감이 온다.

비교: VS Code와 PhpStorm, 무엇이 다른가?

흔히들 VS Code는 가벼운 메모장 같고 PhpStorm은 묵직한 워크스테이션 같다고 한다. 직접 써보니 이 비유가 정확하다. VS Code는 내가 하나하나 재료를 사서 조립하는 조립 PC 같다면, PhpStorm은 모든 게 완벽하게 세팅된 브랜드 완본체 PC 느낌이다.

리팩토링 기능에서 차이가 확연했다. 클래스 이름을 바꾸거나 메서드를 다른 파일로 옮길 때, PhpStorm은 이 변경 사항이 영향을 미치는 모든 프로젝트 파일을 뒤져서 안전하게 바꿔준다. 반면 VS Code는 가끔 놓치는 부분이 생겨서 런타임 에러를 낸다. 이 ‘안전함’에서 오는 심리적 안정감이 생각보다 컸다.

또한 데이터베이스 툴(DataGrip 기반)이 내장되어 있다는 것도 엄청난 장점이다. 별도의 DB 클라이언트를 띄울 필요 없이 IDE 안에서 쿼리를 날리고 데이터를 확인하는 과정이 너무 매끄럽다. 하지만 대가는 확실하다. RAM 점유율이 어마어마하다. 프로젝트를 몇 개만 띄워도 내 노트북 팬은 비명을 지른다. 가벼운 스크립트 하나 수정할 때는 여전히 VS Code가 훨씬 편하다. 상황에 따라 골라 쓰는 지혜가 필요하다는 걸 깨달았다.

아직도 완벽하지 않은, 그러나 든든한 파트너

며칠간의 사투 끝에 이제는 PhpStorm이 꽤 익숙해졌다. 처음에는 복잡하게만 보이던 UI가 이제는 ‘여기에 이런 기능이 있었지’ 하며 하나씩 꺼내 쓰는 보물상자처럼 느껴진다. 라라벨 플러그인을 깔고 나니 블레이드 템플릿 안에서도 자동 완성이 착착 붙고, 코드 분석기가 내 멍청한 오타나 잘못된 if 문 사용을 짚어줄 때면 민망하면서도 고맙다.

그렇다고 모든 문제가 해결된 건 아니다. 여전히 가끔 인덱싱을 하느라 CPU를 100% 잡아먹어 시스템이 멈칫할 때가 있고, 깃(Git) 충돌 해결 기능은 가끔 너무 똑똑한 척을 해서 나를 당황하게 만든다. 어떤 부분은 여전히 손에 안 익어서 마우스로 몇 번씩 클릭을 헤매기도 한다.

결국 완벽한 도구는 없다. 내가 얼마나 그 도구의 성격을 이해하고 내 업무 흐름에 녹여내느냐의 문제인 것 같다. 예전에는 ‘도구가 실력을 만들어주지 않는다’고 생각했지만, 지금은 조금 생각이 다르다. 좋은 도구는 내가 더 본질적인 로직에 집중할 수 있게 ‘공간’을 만들어준다. 그 공간을 어떻게 채울지는 여전히 내 몫으로 남아 있지만 말이다. 앞으로 또 어떤 삽질이 기다리고 있을지 모르겠지만, 최소한 지금은 이 묵직한 동반자와 함께 가는 길이 그리 나쁘지 않다.

Similar Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다