2014-09-17 24 views
10

Cint/C++ için kod tabanımızda lint kullanıyoruz, iş akışımda da clang-formatını entegre etmeye çalışıyorum.clang-format kopuklukları lint ek açıklamaları

Maalesef tüysüz bazen biçiminin iki belirli çek görmezden ek açıklamalar gerektirmektedir: yorum için açılış belirteci arasında bir boşluk varsa,

/*lint -[annotation] */ 

veya

//lint -[annotation] 

Özellikle ve 'Tüy', bir açıklama yönergesi olarak tanımaz. Ne yazık ki, clang-format için sahip olduğum varsayılan ayarlar bunu bir hata olarak görüyor ve boşluğu yararlı bir şekilde yerleştiriyor.

Bu örüntüyle eşleşen yorumları tanımak ve onları yalnız bırakmak için argo formatı almanın bir yolu var mı? Şu anda 3.4 kullanıyorum, ancak gerekirse yükseltme yapabilirim.

cevap

10

Clang formatlı

satırlara bölünmüştür veya başka değiştirilmemesi gerektiğini özel anlamı olan yorum, açıklar düzenli ifadedir bir `CommentPragmas' seçeneği vardır. Benim .clang formatlı dosyasında aşağıdaki satırı koymak

, benim Lint yorumlar bakir kalır.

CommentPragmas: '^lint' 

İçinde hala "tiftik" bulunan diğer yorumlar olmakla birlikte, Lint açıklamaları hala biçimlendirilmiyor.

12

Sen kullanarak dosyanızın bu bölüm için çınlama-biçimini devre dışı bırakabilirsiniz:

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

Disabling formating on a piece of code bölümüne bakın.

+1

Bu özellik kullanıma girdiğinde bir fikriniz var mı? Mac üzerinde başarılı bir şekilde inşa edemedim, bu yüzden önceden oluşturulmuş bir sürüm olan _clang biçiminde bir sürüm 3.5 (etiketler/denetleyici/denetleyici-276) _ ve bunların herhangi bir etkisi yok gibi görünüyor. – user1338952

+0

Çar Ağu 6 08:40:26 2014: [r214966 - clang-format: Biçimlendirmeyi devre dışı bırakmak için özel yorumlar ekleyin.] (Http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20140804 /111937.html), 03 Eylül 2014: [Clang 3.5.0 sürümü] (http://llvm.org/releases/) – rettichschnidi