VSCODE를 아주 대만족해서 사용하고 있다. 다만 포멧팅이 조금 아쉬웠다. 특히 괄호 처리는 마음에 안든다.
변경하려고 조금 알아보다가 Clang-format을 알게 되었다. LLVM, Google, Webkit, GNU 등 다양한 코딩 가이던스에 따라서 코드를 관리할 수 가 있다. (기본 가이던스를 설정해보면 Tabsize가 대부분 2이다. 나는 4가 익숙해서 수정이 필요했다)
VSCODE는 당연히 기본 포멧팅 툴로 'Visual Studio'를 따른다. 이제 변경해보자 Clang-format을 설치한다. VSCODE에도 Clang-format을 위한 확장 툴이 있다. 그럼에도 결국은 나만의 포멧팅 파일을 관리하는 것이 좋다.
https://marketplace.visualstudio.com/items?itemName=xaver.clang-format
C/C++ 프로젝트의 경우 나는 다음 포멧팅 파일을 이용하기로 했다. (LLVM 스타일인데, Tabsize가 4이다. 주인장이 이것저것 튜닝을 한 것 같다.) 사용하기 위해서 나는 프로젝트에 아래 다음 파일을 넣는다. 이제 포멧팅을 적용하면 방금 넣은 파일을 기본으로 따른다. (VSCODE 설정에 포멧팅 우선순위를 설정하는게 있다. 커스텀한 file인지, 아니면 Google/LLVM 등 표준 포메팅인지)
https://github.com/nkallima/sim-universal-construction/blob/main/.clang-format
VSCODE 설정 중에 '저장 할 때 마다' 포멧팅을 잡아주는 것도 있다. 그렇지만 나는 그냥 코딩 할 때 마다 CTRL+SHIFT+i 를 누르는 것을 선호한다. 포크해 온 프로젝트를 일부 수정하고 있는데, 저장하는 동시에 포메팅이 싹 다시 되면... 무엇을 수정했는지 DIFF 하기가 불편하기 때문이다.
포크해온 프로젝트의 경우, 제대로 할 것이라면, VSCODE에서 일괄적으로 포멧팅 변경하는 확장툴을 설치하고, 전체 파일을 포메팅 한 다음에 커밋하고 나서 수정하는 것을 추천한다.
https://marketplace.visualstudio.com/items?itemName=jbockle.jbockle-format-files
'DEV' 카테고리의 다른 글
Acutest UnitTest for C/C++ (0) | 2022.01.26 |
---|---|
Rust Search Extension on Desktop Browsers (0) | 2021.09.28 |
Flat Combining Persistent Stack for NVM (0) | 2021.03.17 |