최고의 C ++ 코드 포맷터 / 뷰티 파이어


127

거기에는 많은 소스 코드 포맷 도구가 있습니다. C ++에 가장 적합한 것은 무엇입니까?

명령 줄 도구 또는 코드를 체크인 / 아웃 할 때 자동으로 실행할 수있는 다른 도구에 관심이 있습니다. 바람직하게는 편집기 나 IDE를 시작할 필요가 없습니다.

(원하는 답변이 이미 답변으로 표시되어 있으면 투표하십시오. 답변이 없으면 추가하십시오.)

답변:


120

C ++ 및 Java (및 기타)에 대해 AStyle을 세부적 으로 사용자 정의 할 수 있습니다.

이것은 소스 코드 포맷 도구입니다.


clang-format 은 clang 컴파일러와 함께 제공되는 강력한 명령 줄 도구로, 가장 모호한 언어 구성까지도 일관된 방식으로 처리합니다.

Visual Studio, Emacs, Vim (및 기타)과 통합 될 수 있으며 선택한 줄만 포맷 할 수 있습니다 (또는 git / svn을 사용하여 diff를 포맷하십시오).

여기에 나열된 다양한 옵션으로 구성 할 수 있습니다 .

구성 파일 ( .clang-format)을 사용할 때 디렉토리마다 스타일을 지정할 수 있습니다. 상위 디렉토리에서 가장 가까운 해당 파일을 특정 파일에 사용해야합니다.

스타일은 사전 설정 (LLVM 또는 Google 등)에서 상속 될 수 있으며 나중에 다른 옵션을 재정의 할 수 있습니다

그것은 구글과 다른 사람들에 의해 사용되고 생산 준비가되었습니다.


또한 UniversalIndentGUI 프로젝트를보십시오 . AStyle, Uncrustify, GreatCode 등 여러 인 덴터를 사용하여 실험하고 가장 적합한 것을 선택할 수 있습니다. 그것들은 나중에 명령 행에서 실행할 수 있습니다.


Uncrustify 에는 구성 가능한 많은 옵션이 있습니다. Konstantin의 회신으로 Universal Indent GUI가 필요할 것입니다.


1
복잡한 매크로로 가득 찬 지저분한 소스 파일이 있으므로 코드를 수정하거나 중단 점을 설정하는 방법을 이해하기 어렵습니다. 우리는 gcc -E를 사용하여 매크로를 해독하여 명령문 등을 포함하여 매우 긴 행의 중첩 for 루프를 생성했습니다. Astyle은 소프트웨어 툴 헬프에 영구적 인 위치를 차지합니다!
DarenW

8
빔 팁 : 당신은 파일 당신에게있는 거 현재의 편집 사용되는 코드를 아름답게하려는 경우 : astyle를 %를!
tonylo

이것은 훌륭한 도구입니다. Windows (직장)의 MSVStudio와 Linux (집의)의 emacs를 모두 사용하여 동일한 프로젝트에서 작업해야 할 때마다 스타일을 실행합니다. emacs 및 astyle (MSVC 편집기에서 사용하는 스타일과 비슷 함)과 함께 BSD 스타일을 사용하며, 항상 올바르게 들여 쓰기 된 소스 코드가 있습니다. 탭 크기와 독립적으로 아름답게 보입니다!
Alexandre C.

1
그것을 시도했다. 빠른 결과를 얻는 것은 매우 쉽습니다 (문서가 좋습니다). 옵션이 많지 않은 것은 부끄러운 일입니다! 일부 프로그래머는 공백으로 코드를 채우는 방식에 매우 창의적이며 AStyle은 이러한 창의성을 모두 다루지는 않습니다.
분노 :

최대 선 너비 옵션이 없습니다. 이것은 필수 아이템이어야합니다.
Sogartar
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.