최고의 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.