升压程序选项的lang语格式

问题描述 投票:14回答:1

clang-format似乎使像这样的代码块变得一团糟:

desc.add_options()("help", "output usage")
      ("inputDirectory", po::value<boost::filesystem::path>()->required(), "The input path")
      ("outputDirectory", po::value<boost::filesystem::path>()->required(), "The output path");

我知道// clang-format off明确不格式化块,但是是否有一组配置规则可使其对此进行合理的设置?

c++ boost-program-options clang-format
1个回答
2
投票

[不确定是否仅通过配置.clang-format选项即可处理。但是,对于boost::program_options语法,您仍然可以做一些事情。除了链接operator(),您还可以创建program_options::options_description对象并在多行中添加选项:

namespace po = boost::program_options;

po::options_description desc;
desc.add_options()("inputDirectory", po::value<boost::filesystem::path>()->required(), "The input path");

现在,即使clang-format破坏了您的格式,我相信它看起来也会比以前更好。如果这对您来说不够好,而格式化却使您不胜其烦,那么建议您定义一些函数或任何可以缩短这些行的方法(在我们的项目中,我们获得了ConfigField结构的向量,其中包含value_semantic,名称等,以及我们通过调用add_options对其进行迭代-它看起来更短)。

恐怕没有其他方法。

BTW:是的,这是一个老问题,但是没有答案,我们最近也遇到了类似的问题。

© www.soinside.com 2019 - 2024. All rights reserved.