본문 바로가기
카테고리 없음

VS code에서 C,C++의 format style을 커스텀하는 방법

by oculis 2023. 6. 21.

내 옆의 개발자, LINT 를 오픈하였습니다.

웹사이트가 필요하면 언제든 연락주세요.

주식 가격을 예측하고 랭크를 올리는 커뮤니티, 오떨 을 오픈하였습니다.

지금 접속하고 예측을 시작해보세요.

728x90

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 등등 편한 기능이 너무 많다. 다음에도 필요한 내용이 있으면 이렇게 짧게 소개하려 한다.

728x90

댓글