VS code와 C++
코드포스나 백준 문제를 풀면서 개발과 병행하기 위해 VS code를 C++ 에디터와 컴파일러로 사용하는데, formatting을 하다보면 불편한 경우가 있다.
예를들면 indent에 탭이 아닌 space를 사용하는데, 보통 개발에서 탭을 사용해야 이동이 편해지기 때문에 탭을 사용하는 나에게는 꽤나 불편한 일이 된다. 여기서 clang-format을 사용해야 하는데 구글링으로도 잘 안나와서 정리하고 넘어가려한다.
커스텀 방법
기본설정
먼저 커스텀을 하기 전에 C/C++가 기본 formatter로 지정이 되지 않은 경우 지정해주는 과정이 필요하다. prettier같은 것이 기본 formatter로 지정이 되어있으면 설정을 해도 안되기 때문이다.
Ctrl + Shift + P → Format document with → Configure Default Formatter → C/C++ 을 선택하면 된다.
환경설정
Ctrl + , 을 이용해 설정으로 접근하고 아래로 내려서 Clang_format_style을 찾아준다.
거기에 file:파일주소 를 입력해주면 된다. 파일 주소는 setting.json과 같은 위치인 C:/Users/유저이름/AppData/Roaming/Code/User/.clang-format 으로 해주면 함부로 삭제하지 않을테니 편해진다.
파일생성
그럼 설정한 위치에 파일을 생성하고 작성해보자. LLVM.org에 clang-format의 작성 요령이 정리되어 있으니 필요한 기능이 있으면 찾아서 쓰면 된다.
BasedOnStyle: Google
ColumnLimit: 0
UseTab: Always
IndentWidth: 4
TabWidth: 4
내가 추가한 부분은 이런데, 아래 세 줄이 indent에서 space 대신 tab을 쓰게 해주는 설정이다. 설정은 아래와 같이 nested의 형태로도 가능하다.
AlignConsecutiveMacros:
Enabled: true
AcrossEmptyLines: true
AcrossComments: true
위 설정은 #define을 이용할 때 define될 것들의 앞을 맞춰주는 설정인데 가끔 코드포스 고인물들이 미리 설정해둔 것들이 많은데도 잘 정리된 경우를 보면 이런 기능을 사용하지 않았을까 싶다.
결론
오늘은 VS code의 C/C++ formatting을 커스텀하는 방법에 대해 알아보았다. VS code는 진짜 천재의 프로그램인 것 같다. 계정별로 설정 연동되는 것, 웹에서 사용가능한 것, github 커밋 쉽게 만든 것이나 suggestion, extension 등등 편한 기능이 너무 많다. 다음에도 필요한 내용이 있으면 이렇게 짧게 소개하려 한다.
댓글