将 clang-format 与 C++/CLI“针对每个”一起使用

2024-04-25

我目前尝试使用格式化 C++/CLI 代码clang 格式(版本 9.0.0)。我不知道如何处理for each声明。

Before:

for each (auto i in I)
{
}

之后(例如,Visual Studio 中的 CTRL-K/CTRL-D):

for
   each (auto i in I)
   {
   }

I read here https://developercommunity.visualstudio.com/content/problem/364475/unwanted-clang-format-on-ccli.html this:

...您可能想要更改 ForEachMacros 以添加“对于每个”

我试过这个:

ForEachMacros:
  - for each
  - foreach
  - Q_FOREACH
  - BOOST_FOREACH

那么这个:

ForEachMacros:
  - 'for each'

和这个:

  - "for each"

甚至这个:

  - "for\s+each"

什么都不起作用。有办法让它发挥作用吗?在文档中,写道(ForEachMacros) 是宏的向量...所以我不明白如何创建一个内部带有空格字符的宏!

有人可以帮我解决这个问题吗?

Thanks!


您可以通过定义自己的宏来解决该问题,例如#define FOR_EACH for each,并使用该宏而不是for each. E.g. FOR_EACH(auto i in I).
现在 clang-format 将忽略它。

您可以将其添加到您的.clang-format file, ForEachMacros: ['FOR_EACH'],因此它被作为循环处理,而不是格式化的函数调用。但修复编译不需要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 clang-format 与 C++/CLI“针对每个”一起使用 的相关文章

随机推荐