2015-05-19 10 views
5

Czasami dzyń-Format robi to:Jak kontrolować wcięcia inicjalizatorów macierzy w formacie klang?

SomeType VariableName[] = {Thing1, 
          Thing2, 
          Thing3} 

a czasem brzęk formacie robi to:

SomeType VariableName[] = { 
    Thing1, 
    Thing2, 
    Thing3} 

a pojedyncza zmiana znaków może się przełączać między nimi.

Czy istnieje sposób kontrolowania tego, co robi?

Buduję z najnowszego źródła git, więc dostępne są najnowsze opcje.

+0

Czy możesz podać więcej informacji o tym, jaki rodzaj zmiany pojedynczego znaku może spowodować przełączenie? Takie informacje będą mi pomocne w znalezieniu odpowiedzi. Dzięki. –

+0

Próbowałem stworzyć małą literę na to pytanie, ale działa bez problemu. –

+0

Zmiana pojedynczego znaku zmieniła PointerAlignment z prawej na środkową. –

Odpowiedz

-1

clang-format umożliwia użytkownikowi określenie pojedynczej właściwości podczas formatowania kodu, na przykład, czy dozwolona jest opcja tab, czyli co to jest tabwidth.

Możesz użyć poniższego sposobu, aby powiedzieć clang-format, aby użyć dostosowanej właściwości.

$clang-format -style="{BaseonStype: llvm, IndentWidth: 8}" 
    $clang-format -style=HAND_WRITTEN_FORMAT_FILENAME 
    $clang-format -style=llvm #builtin styles. 

Można zorientować się o co nieruchomość można dostosować w file od linii do linii 266171.

+0

Wiem, jak zmienić właściwości. Uważnie przestudiowałem http://clang.llvm.org/docs/ClangFormatStyleOptions.html i wydaje się być aktualne pod względem źródła. Żadna właściwość nie wydaje się kontrolować tego zachowania, chociaż mniejsza kolumna ColumnLimit często zmienia ją z pierwszego stylu na drugi. –

0

Zgodnie z this answer, clang-format w niektórych krokach jest to możliwe w przypadku pojedynczego wiersza i stosuje się do tego ColumnLimit.

To wyjaśniałoby przełączanie między zachowaniami.

One way Aby temu zapobiec można ustawić ColumnLimit na 0, kosztem usunięcia całego automatycznego zawijania. Myślę, że to jest warte swojej ceny, jestem pewien, że inni się z tym nie zgadzają.

Powiązane problemy