2009-06-25 3 views
7

나는 대부분의 시간 동안 내 코드를 포맷하기 위해 astyle을 사용한다.하지만 나는 그것을 좋아한다. 그러나 하나의 성가심은 적어도 최대 라인 길이에 대해 "힌트"를 지정할 수 없다는 것이다. 당신은 같은 코드의 라인이있는 경우 :C/C++ 라인을 멋지게 감싸는 자동 소스 코드 포맷터가 있습니까?

this->mButtonCancel->setLeftClickProc(
    boost::bind(&FileListDialog::cancelLeftClick, this)); 

... 난 그 형식을 얼마나 아마 :

this->mButtonCancel->setLeftClickProc(boost::bind(&FileListDialog::cancelLeftClick, this)); 

을 난 적당히 지능적으로 그것을 포장 할 수 있도록 소스 코드 포매터를 싶습니다 코드 행. 긴 인수 목록의 경우, 나는 열린 괄호에 정렬하는 것을 선호 할 것이지만,이 상황에서는 작동하지 않을 것임을 분명히 밝힙니다. 어느 쪽이든, astyle은 다중 명령문을 포함하지 않는 긴 행을 사용하여 어떤 작업도 지원하지 않습니다. 누구든지 도구를 알고 있습니까?

답변

2

Google의 "Beautify C Code"에 멋진 유틸리티가 있습니다. * nix에는 bc라고 불리는 바이너리가 있습니다.이 바이너리는 기본적인 포맷을합니다. 그래도 사용자 정의 할 수는 없습니다.

5

나는 매우 사용할 수있을 uncrustify 명령 줄 도구를 발견했습니다. 그것은 엄청난 수의 옵션을 가지고 있기 때문에 조금 어렵습니다.하지만 연습을 한 후에는 매우 중요합니다. http://uncrustify.sourceforge.net/

5

Astyle 2.03이 지금은이 테스트 한

http://astyle.sourceforge.net/astyle.html#_max-code-length

최대 코드 길이에 따라 분할 라인을 지원하며 최대 코드 길이와 라인을 분할 : 홈페이지는 여기 = 80, 가능한 최소한의 변경을 기반으로합니다. 나는 줄에서 코드의 양을 극대화하기 때문에 쉬는 시간은 항상 읽기 쉽지는 않다. (그러나 그것들은 깨진다.)

+0

나는 방금 테스트를했다. 이 코드는 여전히 80 열 뒤에 코드를 얻습니다. 길이가 앞선 공백을 세지는 않는 것이 두렵습니다. – Gauthier

+0

요즘 나는 독점적으로 uncrustify로 전환했습니다. – shiva

관련 문제