Libclang是一個很好的工具來查找匹配(或不匹配模式)的成員變量,但是有一種更簡單的方法可以解決代碼庫中漂亮的指針和引用的問題,那就是使用clang-format哪個是一種工具,用於格式化C/C++/Java/JavaScript/Objective-C/Protobuf代碼。
Clang格式有大量的options,但可能最感興趣的是PointerAlignment
,它可以具有以下值之一:Left,Right或Middle,它們適當地重新指定指針(和引用)的格式。
您可以從網上工具之一或產生鐺格式的一個新的配置文件中的內置樣式:
clang-format -style=llvm -dump-config > .clang-format
編輯該文件設置PointerAlignment
到左和運行:
clang-format main.cpp
在一個類似的 「難」 格式化代碼片段:
// main.cpp
int main()
{
int a;
int* b;
int *c;
int& d;
int &d;
int * e;
const int * f;
const int * const g;
return 0;
}
我GE t:
// main.cpp
int main() {
int a;
int* b;
int* c;
int& d;
int& d;
int* e;
const int* f;
const int* const g;
return 0;
}
對於其他設置具有類似的結果。
如果你確實需要從代碼做到這一點,你可以使用libformat,即鞏固鐺格式庫,也可以使用調用鐺格式from a subprocess,這是在鐺代碼庫等工具是如何做到這一點。
我很確定令牌不包含空格。 –