2009-05-08 3 views
127

많은 소스 코드 서식 도구가 있습니다. 어떤 것들이 C++에 가장 잘 작동합니까?최고의 C++ 코드 포맷터/미화 도구

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

(당신이 이미 답변으로 나와 같은 일을 볼 경우, 그것을 투표. 거기가 아니라면, 추가합니다.)

답변

120

AStyle은 C++ 및 Java (너무 다른 사람을 위해 아주 자세하게 사용자 정의 할 수 있습니다)

이것은 소스 코드 서식 도구입니다.


clang-format는 일관된 방법으로도 가장 모호한 언어 구조를 처리하는 그 소리 컴파일러와 함께 번들로 강력한 명령 줄 도구입니다.

Visual Studio, Emacs, Vim (기타)와 통합 할 수 있으며 선택한 라인 만 포맷하거나 git/svn을 사용하여 일부 diff를 포맷 할 수 있습니다.

here의 다양한 옵션으로 구성 할 수 있습니다.

설정 파일 (이름이 .clang-format)을 사용하는 경우 스타일은 디렉토리 단위 일 수 있습니다. 부모 디렉토리에서 가장 가까운 파일이 특정 파일에 사용됩니다.

스타일이 미리 설정에서 상속 할 수 있습니다 (LLVM 또는 Google 말) 이상 다른 옵션

그것은 구글과 다른 사람에 의해 사용 및 생산 준비가 재정의 할 수 있습니다.


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


Uncrustify은 구성 옵션 많은있다. 당신은 아마도 유니온 들여 쓰기 GUI (Konstantin의 답장에)가 필요할 것입니다.

+1

복잡한 매크로로 가득 찬 지저분한 소스 파일이 있기 때문에 코드를 수정하거나 중단 점을 설정하는 방법을 이해하기 어렵습니다. 우리는 gcc -E를 사용하여 매크로를 사용하지 않았고, for 문, if 문 등 매우 긴 줄의 중첩 줄을 만들었습니다. Astyle은 읽기 쉽도록 수정하여 많은 문제를 해결했습니다. Astyle은 내 소프트웨어 툴helf에 영구적 인 장소가 있습니다! – DarenW

+8

빔 팁 : 현재 편집중인 파일의 코드를 아름답게 꾸미려면 다음을 사용하십시오. %! astyle – tonylo

+0

이것은 훌륭한 도구입니다. MSVStudio (직장에서)와 emacs (리눅스에서) (집에서) 같은 프로젝트에서 작업해야 할 때마다 나는 astyle을 돌린다. emacs와 astyle (MSVC 편집기에서 사용하는 스타일에 가깝습니다)의 BSD 스타일을 사용하며 항상 소스 코드가 들여 쓰기가 적절합니다. 탭 크기와 별개로 아름답게 보입니다. –