转换非常长的 C++ 字符串文字以满足最大行长度策略

Transforming very long C++ string literals to meet max line length policy

我正在使用具有很长字符串文字的旧 C++。

我的雇主最近在签入修改后的代码时采用了限制行长度的策略,其中一些字符串的长度超过了最大行长度。

在没有太多字符串的情况下,我可以手动断开字符串,但今天我遇到了一个包含超过行长度限制的约 1,700 个字符串的文件。

众所周知,C++ 连接相邻的字符串文字,例如我的方法是转

const char * pStr = "0123456789ABCDEF1123456789ABCDEF ... F123456789ABCDEF";

进入:

const char * pStr = "0123456789ABCDEF"
                    "1123456789ABCDEF"
                    "2123456789ABCDEF"
                    // and more rows until finally
                    "F123456789ABCDEF";

处理包含超过行长度限制的约 1,700 个字符串文字的文件需要很长时间,因此我正在寻找有关如何解决此问题的指导。

感谢您的帮助。

根据@botje、@paddy 和@simon 的建议,我使用了 clang-format,它完全满足了我的需要。请注意,Visual Studio 15.7 已经内置了 clang-format 版本 5。Visual Studio 15.9 具有 clang-format 版本 6。Visual Studio 有一个扩展,即 clang-format 版本 9。

.clang-format 文件中的关键行是:

BreakStringLiterals: true
ColumnLimit:         119