2014-09-17 10 views
10

Wir verwenden Flusen in unserer Code-Basis bei der Arbeit für C/C++, ich versuche Klirren-Format in meinem Workflow als auch beginnen zu integrieren.Klirren-Format bricht Flusen Anmerkungen

Leider Flusen gelegentlich erfordert Anmerkungen eine spezifische Kontrolle, entweder das Format zu ignorieren:

/*lint -[annotation] */ 

oder

//lint -[annotation] 

Insbesondere dann, wenn es einen Raum zwischen der Öffnung Token für den Kommentar ist und "Lint", erkennt es nicht als Annotations-Richtlinie. Leider sehen die Standardeinstellungen, die ich für das Clang-Format habe, das als Fehler und fügen den Platz hilfreich hinzu.

Gibt es eine Möglichkeit Klirren-Format zu erhalten Kommentare zu erkennen, dass die Pattern-Matching und sie in Ruhe lassen? Im Moment verwende ich 3.4, könnte aber bei Bedarf upgraden.

Antwort

10

Clang-Format hat eine `CommentPragmas' Option, die

Ein regulärer Ausdruck ist, die Kommentare mit besonderer Bedeutung beschreibt, die nicht in Linien oder auf andere Weise verändert aufgeteilt werden sollen.

Wenn ich die folgende Zeile in meinem .clang-Format-Datei setzen, bleiben meine Lint Kommentare unberührt.

Andere Kommentare, die immer noch "Lint" in ihnen haben, sind aber nicht Lint Kommentare noch formatiert.

12

können Sie deaktivieren Klirren-Format für diesen Abschnitt Ihrer Datei mit:

int formatted_code; 
// clang-format off 
    void unformatted_code ; 
// clang-format on 
void formatted_code_again; 

den Disabling formating on a piece of code Abschnitt.

+1

Haben Sie eine Idee, wann diese Funktion verfügbar wurde? Ich war nicht in der Lage, erfolgreich auf Mac zu bauen, so dass eine vorkompilierte Version _clang-Format Version 3.5 (tags/checker/checker-276) _ verwendet und diese scheinen keine Auswirkungen zu haben. – user1338952

+0

Mi 6. August 2014 08.40.26: [r214966 - Klirren-Format. Fügen Sie spezielle Kommentare Formatierung deaktivieren] (http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20140804 /111937.html), 03.09.2014: [Veröffentlichung von Clang 3.5.0] (http://llvm.org/releases/) – rettichschnidi