Clang-Format:重新组合字符串字面量

8
有没有办法让clang-format将这个格式变成这样:
function_name("a very very "                | <-- column limit
              "very very "                  |
              "long string");               |

将其转换为:

function_name("a very very very very long"  |
              " string");                   |

它可以愉快地打破超过限制的字符串文字,但我似乎无法让它重新组合。
1个回答

1
在使用clang-format时遇到了同样的问题,没有找到如何处理。最后,我选择了以下的Python脚本:
filename = "/path/to/file"
content = ""
with open(filename,'r') as infile:
  content = infile.read()
  content = re.sub('"\n\s*"', '', content)
with open(filename, 'w') as outfile:
  outfile.write(content)

第5行的正则表达式删除了一个双引号后跟换行符,空格和一个新的双引号。 对我而言,这很有效。
稍后,以下clang-format选项可能有用,以避免再次打破字符串文字:
BreakStringLiterals = false

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接