IDE - intelliJ의 알아 두면 좋은 기능들
오늘은 제가 사용하는 유료 IDE(Phpstorm, IntelliJ)에 대해서 적어볼까 합니다.
사실 이 글은 예전에 깃블로그에 썼던 내용인데 거긴 폐쇄하고 옮겨온 거예요.
2017년부터 사용하고 있는 중이고 지금도 사용하고 있는 너무 편한 기능들을 정리해 봤습니다.
그동안 써봤던 IDE는 많았지만 유료는 유료값을 한다라고 느껴요.
물론, 유료라서 회사에서 라이선스 결제한 거 아니면 개인적으로 쓰기는 부담스럽죠. (개인용은 $89 정도 됩니다.)
각설하고, 기능을 한번 살펴보겠습니다.
| 자주 사용하는 단축키
기본 설정 키로 쓰는 경우도 있고 제가 커스텀한 것도 있어서 Setting > Keymap에서 보시고 쓰시면 됩니다.
commit : Ctrl + K
push : Ctrl + Shift + K
update : Ctrl + T
annotate : Ctrl + Alt + Shift + A
Compare with Branch : Ctrl + Alt + Shift + B
Compare with Clipboard : Ctrl + Shift + B
Stash : Ctrl + Alt + Shift + S
UnStash : Ctrl + Alt + Shift + U
Show History : Ctrl + Alt + H
Show History for Selection : Ctrl + Alt + Shift + H
close : Ctrl + W
현재 소스 라인 이동 : Alt + Shift + 방향키(↑↓)
현재창 분할(복사) : Alt + V
현재창 분할이동 : Ctrl + Alt + 우측방향키(→)
다음 diff 컴페어나 컨플릭트 처리 때 유효 : F7
Git pannel : Alt + 9
Terminal pannel : Alt + F12
| 기능
1. 특정 폴더 지정 & 감춤
IDE 좌측에 폴더 탐색기에서 거의 쓰지 않거나 한번 설정하면 볼일 없는 폴더들이 있어서 폴더가 많을 경우에는 폴더가 한눈에 안 들어오는 경우들이 있을 겁니다.
저는 node_modules 폴더라던가 초기 설정파일들이라던가 또는 제가 사용하지 않는 폴더(백앤드와 같은 repo라면 백앤드 소스폴더)등을 Excluded 처리를 한 후에 감춤 처리합니다.
탐색기 > 감출폴더 마우스우측클릭 > Mark Directory as > Excluded(주황색)을 클릭 후 탐색기 우측 상단의 톱니바퀴 > Show Excluded Files 체크를 해제합니다.
2. Git 연동
깃과 연결을 했을 때 브랜치 목록, 소스 커밋 트리, 커밋내역 검색, 필터 기능, update, commit, push, merge, conflict.... 를 다른 IDE보다 더 쉽고 빠르게 확인&처리할 수 있습니다. 상단 메뉴 > Git > Clone를 클릭하고 repository의 url과 폴더를 지정하면 됩니다. 연결된 후 IDE 좌측 하단에 Git(Alt+9)을 클릭해 보시면 패널이 뜹니다.
3. Annotate
이 기능은 소스상에서 누가 언제 커밋했는지 보여주는 기능입니다. 소스에서 마우스 오른쪽 클릭 > Git > Annotate with Git Blame을 누르면 확인할 수 있습니다. 저는 keymap에서 세팅을 Ctrl+Alt+Shift+A로 지정하고 씁니다.
그러면 소스코드 좌측에 Annotate에 대한 내용이 나옵니다.
커밋날짜+사용자를 클릭해 보면 해당 커밋 정보를 모달로 볼 수 있습니다.
이 모달에서 소스를 클릭하고 Annotate(Ctrl+Alt+Shift+A)를 누르면 거기에서도 확인할 수 있어 코드가 어떻게 변해왔는지 히스토리 추적에도 용이합니다. 물론 뒤에 설명할 History에서도 확인 가능합니다.
conflict, history, compare 등등 소스창이 보이는 곳마다 확인하실 수 있습니다.
다른 브랜치와 merge후 컨플릭트 처리할 때 이 Annotate가 빛을 발합니다. 컨플릭트 처리는 아래에서 다시 포스팅하겠습니다.
4. Merge
Ctrl + T (프로젝트 업데이트)
IDE 우측 하단 브랜치(origin) 클릭 > 가지고 올 브랜치 검색 > 방향키로 Merge into Current 선택 merge
5. Conflict
충돌난 파일이 있는 경우 충돌난 파일 목록이 아래처럼 뜹니다.
그러면 하나씩 우측 아래에 있는 Merge 버튼을 눌러서 충돌을 해결해 주면 됩니다.
Merge를 눌렀을 때 화면이 3 분할되는데 3 분할된 화면 위쪽에 보면 분할된 화면이 어디 브랜치인지 나옵니다. 지금은 충돌이 나서 코드블록에 적색으로 표기가 되어있는데 초록색은 추가된 것, 회색은 삭제된 거라고 보면 됩니다.
F7로 다음 충돌 부분으로 이동할 수 있고 Annotate(제 키맵기준 : Ctrl + Alt + Shift + A) 기능으로 충돌 난 부분들이 누가 언제 커밋했는지의 내용들도 바로 확인 가능합니다.
컨플릭트 처리는 가운데 Result 부분 좌우로 보면 화살표로 처리할 수 있습니다. 모두 처리가 되면 우측 하단에 Apply 눌러서 완료해 주시면 됩니다.
혹시나 conflict 창을 닫았을 경우에는 메뉴> Git> ResolveConflicts... 를 클릭하면 다시 처리할 수 있습니다.
6. Compare with Branch
이것도 강력한 기능 중에 하나입니다. 작업하시다가 현재 작업을 다른 브랜치에 있는 소스와 비교하고 싶다거나 마스터와 비교해서 현재 브랜치가 얼마만큼 변했는지도 확인이 가능합니다.
마우스오른쪽클릭 > Git > Compare with Branch를 선택하면 보이는데 제 키맵기준 Ctrl+Alt+Shift+B입니다.
현재 포커스 기준으로 모두 비교해 주는데 좌측 폴더 탐색기 부분에서 루트에 포커스를 두고 Compare with Branch를 선택 후 원하는 브랜치(창에서 바로 타이핑하면 필터링해 줌)와 비교하면 다른 부분을 모두 확인할 수 있습니다.
포커스 기준으로 비교해 줘서 소스상에서도 물론 가능합니다.
[폴더로 비교했을 때]
하나하나 파일 클릭해서 내용 확인 할 수 있습니다.
[파일로 비교했을 때]
해당 브랜치에서 바로 현재 브랜치로 화살표로 당겨올 수 있습니다.
7. Compare with Clipboard
마우스오른쪽클릭 > Compare with Clipboard을 클릭해서 사용할 수 있고 복사된 내용을 현재 소스와 비교할 수 있습니다. 폴더는 비교대상이 아닙니다.
복사된 내용과 비교하고 싶은 부분만 드래그해서 비교할 수 있습니다.
8. History
Local History와 Git상에 push 되어있는 해당 파일의 히스토리를 볼 수 있습니다. 드래그해서 해당 소스 부분의 history만 볼 수 있습니다.
Local History : 마우스오른쪽클릭 > Local History
Git History : 마우스오른쪽클릭 > Git > Show History
선택한 부분의 History : 각 Local, Git History 내 Show history for Selection
9. Deploy
배포관련 된 포스팅은 길어서 따로 포스팅을 하겠습니다. 따로 여러 서버를 FTP로 붙을 수 있고 빌드된 파일들을 바로 업로드 가능합니다.
| 요약
정말 자주 쓰는 기능만 정리했고, 이 외에도 stash, unstash, cherry-pick, 원격접속, database, structure, favorites, test Tool과 연동한 coverage 표기등 강력한 기능들이 많으니 phpstorm 공홈에서 찾아보시길 추천드립니다.
특히 테스트 케이스의 커버리지 표기는 리포트로 받아 볼 수 있고, 좌측 폴더 옆에 커버리지 % 까지 노출시켜 줍니다.
📌 참조
https://www.jetbrains.com/help/phpstorm/quick-start-guide-phpstorm.html
'IT > 개발' 카테고리의 다른 글
웹성능 최적화! 구글 라이트하우스를 활용한 웹사이트 진단 및 개선 방법 (2) | 2024.02.05 |
---|---|
IntelliJ Test Case Setting (2) | 2024.01.25 |
Vue3의 상태관리자로 Pinia를 사용해 봅시다. (0) | 2024.01.15 |
Service Worker 적용해 보기 (0) | 2024.01.13 |
Mocking 서비스 도입하기 (msw) (0) | 2024.01.11 |