2017-05-17 7 views
6

통근 블록 전에 브레이크 :그 소리 - 형식 : 람다 함수에 대한 중괄호와 나는이 같은 형식 람다 기능이

auto cb = [](std::string const& _param) 
{ 
    std::cout << _param; 
}; 

내가 새 행에 여는 중괄호를 유지하고 싶은,하지만 clang-format 항상 배치 첫 줄 끝에. 위의 스타일을 따르도록 clang-format을 구성 할 수 있습니까?

BraceWrapping:       
    AfterClass:  true 
    AfterControlStatement: true 
    AfterEnum:  true 
    AfterFunction: true   
    AfterNamespace: true     
    AfterStruct:  true 
    AfterUnion:  true 
    BeforeCatch:  true 
    BeforeElse:  true 
    IndentBraces: true 
BreakBeforeBraces: Allman 

나는 또한 extern 블록에 대해 동일한 작업을 수행하고자하는이 :

나는 생각하지 않는다
extern "C" 
{ 
    // ... 
} 
+0

입니다. 어떤 버전의 'clang-format'을 사용하고 있습니까? 버그 일 수 있습니다. https://www.mail-archive.com/[email protected]/msg05471.html – syntagma

+0

버전 5.0.0 (tags/google/stable/2017-03- 17) –

+0

람다 (https://bugs.llvm.org//show_bug.cgi?id=32151) 및 extern 블록 (https://bugs.llvm.org//show_bug.cgi?id)에서 문제를 추적하는 버그 보고서를 발견했습니다. = 26689 –

답변

0

이 옵션이

내 현재 구성의 관련 부분은 다음과 같습니다 이 특별한 경우. 죄송합니다. 답변으로 생각하지 않으시면 죄송합니다. 그러나 clang 형식의 "미세 조정"문제가 발생하면 바로 내용을 미리보고 형식을 지정하고 바로 뒤에 clang-format off과 흥미있는 내용 바로 앞에 clang-format on을 말하십시오. 더 나은 독서를 위해 코드를 정렬하는 데 사용되는 빈 문자 시퀀스를 유지하기 위해 종종 그렇게합니다. 효과는 물론 CF가 스 니펫을 변경하지는 않습니다. 따라서 귀하의 코드는

// clang-format off 
auto cb = [](std::string const& _param) 
{ 
    std::cout << _param; 
}; 
// clang-format on