티스토리 뷰

개발자는 도구만 잘 써도 생산성이 배로 올라간다. PHP의 대표적인 IDE인 PhpStorm은 기능이 워낙 많아서, 설치해놓고 메모장처럼만 쓰는 경우가 의외로 많다.

가장 좋은 학습 자료는 Laracasts의 무료 시리즈다.

How to Be Awesome in PhpStorm

여기서는 그중에서도 익히면 체감이 확 오는 것들만 추려본다.

1. 이동 관련 단축키 (이것만 외워도 절반)

마우스로 파일 트리를 뒤지는 시간이 하루에 얼마나 되는지 생각해보면, 여기가 가장 효율이 좋다.

  • Shift Shift — Search Everywhere. 파일·클래스·설정·액션 전부 검색
  • Cmd/Ctrl + B — 정의로 이동. 메서드 이름에서 누르면 구현부로
  • Cmd/Ctrl + Alt + B — 구현체로 이동. 인터페이스에서 실제 구현 클래스로
  • Alt + F7 — 사용처 찾기. 이 메서드를 누가 호출하는지
  • Cmd/Ctrl + E — 최근 파일 목록
  • Cmd/Ctrl + Shift + Backspace — 마지막 편집 위치로 복귀

마지막 항목이 은근히 강력하다. 정의를 따라 여러 파일을 옮겨다니다가 원래 쓰던 곳으로 한 번에 돌아온다.

2. 리팩터링

수동으로 이름 바꾸다가 놓치는 경우가 많은데, IDE에 맡기면 참조를 전부 찾아서 바꿔준다.

  • Shift + F6 — Rename. 변수·메서드·클래스·파일명 전부
  • Cmd/Ctrl + Alt + M — 선택 영역을 메서드로 추출
  • Cmd/Ctrl + Alt + V — 변수로 추출
  • F6 — 클래스를 다른 네임스페이스로 이동 (use 문 자동 수정)

3. Laravel Idea 플러그인

Laravel을 주로 쓴다면 이 플러그인 하나로 경험이 달라진다. 유료지만 값을 한다.

  • route('') 안에서 라우트 이름 자동완성
  • view('') 에서 블레이드 파일 자동완성
  • Eloquent 관계·스코프·매직 메서드 인식
  • config(''), trans('') 키 자동완성
  • Artisan 명령을 IDE 안에서 실행

무료로 비슷한 효과를 보려면 barryvdh/laravel-ide-helper 를 쓰면 된다. 매직 메서드에 대한 힌트 파일을 생성해준다.

composer require --dev barryvdh/laravel-ide-helper

php artisan ide-helper:generate   # 파사드
php artisan ide-helper:models     # Eloquent 모델 속성
php artisan ide-helper:meta       # 컨테이너 바인딩

4. Database 툴 (별도 클라이언트가 필요 없어진다)

PhpStorm에는 DataGrip 엔진이 내장돼 있다. 별도 DB 클라이언트를 띄울 필요가 없다.

  • DB 연결 후 테이블 조회·편집
  • 쿼리 자동완성 (테이블·컬럼명)
  • 코드 안의 SQL 문자열에서도 컬럼명 자동완성
  • SSH 터널 지원

마이그레이션 파일에 테이블을 정의하면 IDE가 스키마를 인식해서, 이후 쿼리 빌더 코드에서 컬럼명을 자동완성해준다.

5. HTTP Client

Postman 없이 IDE 안에서 API를 호출할 수 있다. .http 파일로 저장하면 Git에 커밋해서 팀과 공유할 수도 있다.

### 로그인
POST http://localhost/api/login
Content-Type: application/json

{ "email": "test@test.com", "password": "1234" }

> {% client.global.set("token", response.body.token); %}

### 인증 필요한 요청
GET http://localhost/api/me
Authorization: Bearer {{token}}

응답에서 토큰을 뽑아 다음 요청에 자동으로 넣는 것도 된다. API 문서 대신 .http 파일을 저장소에 두는 팀도 많다.

6. Live Template

반복적으로 치는 코드를 축약어로 등록해둔다.

Settings > Editor > Live Templates

예를 들어 ddddd($END$); 로 등록해두면 세 글자만 치고 Tab이다. 팀에서 자주 쓰는 패턴을 등록해 공유하면 코드 스타일 통일에도 도움이 된다.

7. 코드 품질 도구 연동

Settings > PHP > Quality Tools
→ PHP_CodeSniffer, PHPStan, Laravel Pint 등록

저장할 때마다 자동으로 검사하고 포맷을 맞춰준다. PR에서 스타일 지적을 주고받는 시간이 사라진다.

처음 시작한다면

기능이 많아서 압도되기 쉬운데, 순서를 정하면 부담이 덜하다.

  • 1주차 — Shift Shift, Cmd+B, Cmd+E 세 개만
  • 2주차 — Shift+F6(Rename), Alt+F7(사용처)
  • 3주차 — Database 툴 연결, ide-helper 설치
  • 이후 — HTTP Client, Live Template, 품질 도구

한 번에 다 외우려고 하면 결국 하나도 안 쓰게 된다. 마우스로 하고 있는 동작 중 가장 자주 하는 것 하나를 단축키로 바꾸는 것부터 시작하는 게 좋다.

정리

  • Laracasts 무료 시리즈가 가장 좋은 학습 자료
  • 이동 단축키가 효율이 가장 높다. Shift Shift, Cmd+B, Cmd+E
  • Rename은 반드시 Shift+F6으로. 수동 변경은 반드시 놓친다
  • Laravel이면 Laravel Idea 또는 무료 ide-helper
  • DB 클라이언트, Postman은 IDE 안에서 대체 가능
댓글


최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday