본문 바로가기
IDE/IntelliJ

IntelliJ Honey Tips 6

by Dev Lighthouse 2024. 4. 19.
320x100
320x100

예전 작성된 글과 2024년의 내 글들을 보면 뭔가 정리수준이 올라간 게 느껴진다...

부디 IntelliJ를 사용하면서 많은 도움을 얻기를 바란다

(플러그인 추천 글도 2024년 version으로 업데이트를 해야하는데...ㅠ)

- 목차


bread-crumbs navigator 표시하기

더보기

Line쪽에서 마우스 우클릭 -> Appearance -> Breadcrumbs -> Top/Down 체크

현재 커서가 가리키고 있는 메서드, 상위 객체, yaml파일 또는 html 구조까지 편하게 이동할 수 있다

 

git 특정 라인만 커밋하기

더보기

이 방법을 모른다면 2가지 방법을 보통 사용한다

1. 다른 곳에 복사해둔 뒤 전체 파일을 commit한다. 이후로는 다른 곳에서 복사한 코드를 가져와서 작업한다

2. 한 파일을 shelve에 넣어두고 가져와서 commit을 제외할 부분은 지우고 commit한다

 

cmd + 0번 으로 git commit 파일들 중에서 파일 자체를 check하지 말고, 더블클릭해서 상세 코드 내역을 보고, 추가하고 싶은 부분만 체크하면 된다

 

file path 압축/해제

더보기

목표

domain 하위에 클래스를 만들고 싶음

 

문제상황

현재 경로에서 파일을 만들면 api 하위에 파일이 만들어진다

따로 move를 해야함

 

해결

프로젝트에서 3dot 메뉴 클릭 -> Tree Apperance -> Compact Middle Packages 해제

domain 패키지 하위에 클래스 생성 성공

 

file path 단위로 이동

더보기

cmd + 위 방향키

파일을 이동하면서 편하게 선택할 수 있다

 

git 기반으로 변경된 부분(신규 또는 수정된 라인)으로 이동하기

더보기

ctrl + option + shift + 위/아래 방향키

한 파일 내에서 깃의 변경지점을 찾아서 이동해주는 단축키

 

파일 닫기 버튼 왼쪽으로 바꾸기 + 원 클릭으로 탭 닫기

더보기

어차피 나는 파일 닫기같은경우에도 크롬 단축키와 같이 cmd + w를 사용하고 있지만.. 마우스를 원하시는 분들을 위해..

위와 같이 파일 닫기 x 버튼이 오른족에 있어서 여러개의 열린 탭을 닫을때 불편할 수 있다

왜냐하면 파일 이름 길이에 따라 x 버튼의 위치가 달라지기 때문이다

 

Settings에 들어가자

cmd + ,

Editor > General > Editor Tabs

 

Close button position 변경

결과

X 버튼이 왼쪽으로 변경됐다

 

+

어차피 shift를 누른채로 탭을 클릭하면 열린 탭이 닫히게 된다

 

주석에 대해 오타체크 해제하기

더보기

아래와같이 한글 또는 영어+한글이 붙어있는 주석을 작성할때면 눈에 거슬리게 아래 줄로 표시가 된다

대체 어디가 오타인건데요...선생님..

그리고 이건 주석이다

그럼 이제 이 눈엣가시를 안보이게 해보자

 

Settings 설정을 다시 열자

cmd + ,

Editor > Inspection

Proo라고 검색하면 Proofreading이 나온다

마지막의 Typo에서 옵션의 Process comments를 해제

결과

편-안

이제 주석에 대해서는 오타체크를 안해준다

어차피 주석은 사람이 작성하는 거니까 로직에 대해서는 영향이 없다

 

파일 마지막에 자동으로 개행문자 추가하기(LF & CRLF)

더보기

먼저 LF나 CRLF에 대해서 알기 위해서는

아래의 블로그들을 살펴보자

https://velog.io/@dev_yong/CRLF%EC%99%80-LF%EC%B0%A8%EC%9D%B4%EC%9D%98-%EC%9D%B4%ED%95%B4

 

CRLF와 LF차이의 이해

개발을 하면서 협업을 할 때 Code Convention을 맞추기 위해 Check Style을 사용한다.Check Style파일을 열어보면 줄바꿈 타입을 체크하는 부분이 있고, 줄바꿈 시 CRLF는 금지하고 LF는 허용하도록 설정되어

velog.io

https://brunch.co.kr/@hongjyoun/97

 

CRLF와 LF는 무슨 차이일까?

줄바꿈 형식 통일이 필요해 | 타자기로 글을 쓰던 시절, 줄바꿈을 하는 2가지 방법 옛날에 컴퓨터가 나오기 이전에 타자기로 글을 쓰다가 종이 끝까지 다 썼을 때 줄바꿈을 해야 됐다. 그때 일어

brunch.co.kr

 

간단하게 정리하면

- LF(\n): Line Feed

- CR(\r): Carriage Return

- CRLF(\r\n): 위에 두개 합친거

 

OS별 줄바꿈 기준

- Windows: \r\n (4byte)

- MacOS: \n (2byte)

 

Q. 왜 설정을 맞춰줘야 하나?

A. 협업을 위해서다

- git에서 두개 값의 byte가 다르기 때문에 파일에 대한 변경을 하지 않았더라도 변경이 되었다고 인식된다

(특히 Windows에서 작업한 작업물을 MacOS 유저가 파일을 오픈한 경우)

 

예를 들면

git commit & push 시에 이와 같은 메시지를 볼 수 있다(여러 OS를 사용하는 협업을 할때)

warning: CRLF will be replaced by LF in ...

 

해결방법

1. IDE에서 파일 속성 변경으로 해결

각각의 IDE에서도 이러한 설정을 제공하고 있다(옆에 자세히 보면 문자 포맷인 UTF-8 등도 볼 수 있다)

우측하단에 위치해 있다. 이 부분을 LF로 바꿔주자

 

VScode

IntelliJ 

 

위의 설정과 더불어서 모든 파일 끝에 1줄의 공백이 추가되도록 추가설정을 마치자

POSIX의 LINE 정의 (EOF)

POSIX는 줄 바꿈이 아닌 문자의 빈 시퀀스로 라인을 정의하며 줄 바꿈으로 끝나며 EOL(End-Of-Line)이라고도 하며 ASCII 코드 0x0A라고도 합니다.

 

Preferences - Editor - General - On Save

Ensure every saved file ends with a line break 체크

이러면 파일에 대해 뭔가 작업하고 저장을 하면 맨 마지막에 개행이 추가된다

 

 

2. git config로 해결

https://docs.github.com/ko/get-started/getting-started-with-git/configuring-git-to-handle-line-endings

 

줄 끝을 처리하도록 Git 구성 - GitHub Docs

diff에서의 문제를 방지하기 위해 줄 끝을 제대로 처리하도록 Git을 구성할 수 있습니다.

docs.github.com

 

- MacOS의 경우

git config --global core.autocrlf input

MacOS는 줄바꿈이 기본 \n이기때문에 그냥 input 그대로 둔다는 의미

 

- Windows의 경우

git config --global core.autocrlf true

autocrlf 설정이 true이면 CRLF를 LF로 바꿀것이다(/r/n -> /n)라는 것으로 이해하면 된다

 

3. 직접 설정파일을 만들어서 해결

git에만 적용되게 하기 or 전체 적용되게 하기 선택지가 있다

둘 다 하는걸 추천한다

 

- .gitattributes 파일을 프로젝트 root 경로 내에 추가

* text=auto eol=lf working-tree-encoding=UTF-8

* 모든 파일에 대해서 eol(end-of-line)처리를 LF로 하며, 파일들을 UTF-8로 인코딩 하라는 뜻이다

 

간혹가다 vscode말고 Visutal Studio 등을 사용해서 파일 character encoding이 mac유저와 다른 경우 한글주석 등이 다 깨져서 오는 현상이 있다. 그런 것 등을 방지하기 위해서 설정하자

 

- .editorconfig 파일을 프로젝트 root 경로 내에 추가

[*]
end_of_line = lf
charset = utf-8
insert_final_newline = true
trim_trailing_whitespace = true

 

위의 내용과 마찬가지이다

추가로 파일의 끝에 개행을 자동으로 추가하고, 끝에 따라오는 white space도 제거해주라는 설정을 추가했다

이 editorconfig 숨김 파일은 vscode, intelliJ 등 개발툴에 의존하지 않고, 프로젝트 전체에 적용된다는 장점이 있다

각각 파일마다 아이콘이 다른데, 귀엽다...쿠쿡


memory indicator 표시하기

더보기

M1 mac이 등장하고, intel 프로세서의 프로그램들이 아직 apple silicon 프로세서로 만들어지지 않아서 로제타등을 통해서 쓰고 있던 초기에는.. IntelliJ가 무겁네 마네 그런 말들이 있었다

또한 이와 비슷하게 무료인 Vscode를 좋아하고, IntelliJ를 안써본 개발자들은 IntelliJ가 무겁다고 말한다

그래서!! 이 개발툴이 얼마나 무거운지.. 보기 위해서 memory 사용량을 보면 좋다

 

shift + shift 두번 입력

show m..까지 입력

Show Memory Indicator를 ON으로 바꿔주자

우측 하단에 사용중인 용량 / IDE에 할당된 총 용량이 나온다(메모리)

흠...근데 1기가 가까이되는거면 많이 사용하는거일지도..!?

근데 종종 프론트 개발자분들이 말하기로 VSCode로도 몇기가씩 먹고 그런다더라

마우스를 갖다 대면 이런 상세한 내역도 볼 수 있다!

 

원하는 라인으로 이동하기

더보기

- mac 기준

cmd + L

- windows 기준

ctrl + G

 

n번째 줄의 맨 끝으로 이동하려면 n:99 이런식으로 입력하면 된다

단어별로 커서를 이동하려면 option + 좌/우 방향키

맨 끝으로 커서를 이동하려면 cmd + 좌/우 방향키를 누르면 된다

 

 

코드 정의 부분으로 이동하기

더보기

코드 호출부에서 정의부로 이동하는 단축키이다

(Navigate -> Go to Declaration or Usage)

 

- MacOS

cmd + b

 

-Windows

ctrl + b

 

마우스로는 cmd(맥)/ctrl(윈도우) 키를 누르면서 클릭을 하면 이동할 수 있다

 

뒤로 가기 / 앞으로 가기

더보기

코드 정의 부분으로 이동을 했다면, 호출부로도 돌아가고 싶지 않을까..?

코드 정의 부분 또는 사용했던 곳에서 뒤로 가는 단축키이다

(Navigate -> Back)

 

- MacOS

cmd + option + 좌/우 방향키

 

-Windows

ctrl + alt + 좌/우 방향키

 

 

폰트 동적으로 줄이기 / 늘리기

더보기

팀원들한테 또는 대표님한테 내 코드에 대해서 설명해줄 때는 폰트를 키우고(코드리뷰 시간, 프레젠트 시간)

내가 개인적으로 사용할때는 폰트를 줄이고 싶다

 

Editor > General > Font에서 사이즈를 조절하는거 말고, 단축키로 동적으로 늘리거나 줄이고 싶을 때 사용하자

 

- MacOS

ctrl + shift + ,(<) / .(>)

 

- Windows

alt + shift + ,(<) / .(>)

 

 

다시 한번 더 탭 단축키 복습(recap)

더보기
  • 프로젝트 파일 보기: cmd + 1
  • Commit할 파일 보기: cmd + 0
  • Structure 보기: cmd + 7
  • Bookmark 보기: cmd + 2
  • 같은 키 두번 입력하면 창 닫힘
  • 원래 창으로 복귀: esc

 

 주로 쓰는 단축키들은 복습해서 뇌의 망각시스템을 우회해보자

320x100

댓글