我们使用SWIG为某些C ++代码生成Python包装器。 SWIG指令以%开头,在标题中如下所示:
#ifdef SWIG
%apply int* INT_RET_VAL{int * is_donor};
#ENDIF
ErrLevel mmct_hbond_is_donor(MM_Index ct, int atom_idx, int* is_donor);
#ifdef SWIG
%clear int * is_donor;
#ENDIF
当clang格式处理它们时,%apply
变为% apply
,这不再是SWIG语句了!目前我们的代码库中有批次。有没有一种方法可以说服clang-format跳过%apply和%clear语句?或者也许是#ifdef SWIG
中的所有内容?
答案 0 :(得分:1)
您可以使用// clang-format off
。
int formatted_code;
// clang-format off
void unformatted_code ;
// clang-format on
void formatted_code_again;
https://clang.llvm.org/docs/ClangFormatStyleOptions.html#disabling-formatting-on-a-piece-of-code