[IntelliJ] 파일 끝에 자동으로 개행 추가하기 (No newline at end of file)

Github에서 커밋 된 파일에 다음과 같은  No newline at end of file이라는 메시지를 볼 때가 있다.

 

 

왜 이러한 에러가 나오는 걸까?
파일 끝에 개행 문자를 추가해야하는 이유는 다음과 같다.

POSIX 표준

POSIX 표준은 텍스트 파일을 "하나 이상의 줄"로 정의하며, 각 줄은 개행 문자로 끝나야 한다고 명시하고 있다.

특히 POSIX에 근거해서 동작하는 C 컴파일러인 gcc 파일이 끝났더라도 개행문자가 없으면

한 줄이 끝나지 않은 것으로 인식해서 정상적으로 동작하지 않는 문제가 발생한다고 한다.

 

Git 버전 관리 시스템

파일 끝에 개행 문자가 없으면 마지막 줄에 변경 사항이 발생했을 때

해당 줄 뿐만 아니라 이전 줄까지 변경된 것으로 간주될 수 있다고 한다.

 

파일 끝에 자동으로 개행 문자 추가하기 설정

Setting(설정) -> Editor(에디터) -> General(일반) 에서 

Ensure every saved file ends with a line break(모든 저장된 파일이 줄 바꿈으로 끝나도록 함)을 체크해주면

파일을 생성하거나 파일을 저장(Mac 기준 Cmd + s)할 때 마다 파일 끝에 자동으로 개행 문자를 추가해준다.