我想向我们的公司介绍 clang-formatter ,但有一些限制,例如:
我们公司的一些文件使用tab-width = 2可以更好地阅读,而其他文件使用tab-width = 4可以更好地阅读。
这意味着某些文件(由于其内容的性质)应该具有不同的.clang格式配置文件。所以,假设我们最终得到2或3个配置,适合每个内容, 有没有办法可以强制某些文件格式化特定的.clang_format ?
例如,
或
我们使用C,C ++,visual studio和vim
答案 0 :(得分:3)
您对使用.clang_format
文件的控制有限,因为格式化程序将开始在源文件目录中搜索文件,然后连续搜索父目录。但是,以这种方式组织目录结构可能非常不方便。
但是,您可以通过每次调用覆盖样式中的特定选项。来自clang-format docs:
使用
-style="{key: value, ...}"
设置特定参数,例如:-style="{BasedOnStyle: llvm, IndentWidth: 8}"
不幸的是Visual Studio plugin目前不允许在每个文件的基础上更改传递给clang-format
的选项,因此后一种方法在这里不起作用。
据我所知,不支持允许在源文件中设置样式选项的'modeline' comments,尽管我希望在将来的版本中添加这些选项。
答案 1 :(得分:1)
您可以将不同的.clang格式(_clang格式)文件放入每个目录中。 clang-format将开始在文件目录中查找它,然后搜索其所有父项,直到找到一个(假设您正在设置-style = file)。
这听起来像是可以解决您的用例。如果没有,我想了解如何。您是否在同一目录中有需要不同缩进的文件?