Visual Studio Code 자동 포매팅 안하고 저장하기
dev | 2023-08-20
VS Code를 사용하는 많은 사람들이 자동 코드 포매팅을 켜놓았을 것이다. 코드를 저장하거나 복사 붙여넣기를 할 때에 미리 설정되어 있는 포매팅 규칙을 적용해주는 기능이다. 코드 포매팅에 들어가는 시간을 획기적으로 줄여주기 때문에 생산성 향상에 긍정적인 영향을 미친다고 생각한다. 모든 파일에 코드 포맷이 잘 적용되어 있다면 문제될 것이 없지만 오래된 프로젝트나 중간에 포매팅 규칙이 바뀐 경우에는 난감해진다. 내가 수정하지 않은 부분이 포매팅 변경 때문에 수정 내역으로 커밋에 들어가게 된다.
수정하지 않은 줄이 코드 변경 내역에 들어가는 경우도 피하는 것이 좋고 들여쓰기 변경이 많아서 실제 코드의 변경내역을 쉽게 찾지 못하는 경우도 좋지 않다. "Indentation" 커밋을 따로 분리 하는 것도 하나의 방법이다. 변경 내역을 쉽게 알아 볼 수 있어야 코드 리뷰도 좀 더 수월해 진다. 일관된 포매팅과 깔끔한 커밋 내역 중에 하나를 골라야 하는 상황이라면 나는 후자를 선택하는 타입이다. 포매팅 변경이 많은 코드는 변경 추적할 때에도 불편하다.
그래서 자동 포매팅 폭탄을 피할 수 있는 방법을 찾아보다가 내가 수정한 라인만 포매팅을 해서 저장하는 기능이 있다는 것을 알았다. 저장시 포매팅 설정을 modifications
로 하면 된다는데 내가 테스트 해봤을 때는 무슨 이유였는지는 모르지만 잘 적용이 안되어서 포기했었다.
그래서 한동안 포매팅 충돌이 있는 파일은 설정을 열어서 자동 포매팅을 끄고 작업이 끝나면 다시 켜고 하는 식으로 고생을 했었다. 그런데 설정을 변경하지 않아도 포매팅 적용 없이 저장하는 명령어가 있다는 것을 발견했다. 확장 기능도 있는 걸로 봐서 나만 고통받고 있던 것은 아닌가 보다. 무려 2018년에 "Save Without Formatting" 명령어가 추가되었다. CMD + K, S 단축키로도 할 수 있다.
전체 코드의 포매팅을 바꾸는 엄청 큰 커밋을 넣는 것에 별 부담이 없는 분들도 있겠지만 나는 왠지 부담이 된다. 프리티어로 싹 털어낸적도 있지만 나로서는 나름 큰 결단이었다. "Save Without Formatting" 덕분에 앞으로는 오래된 코드도 손대기 수월해질 것 같다.
Comments