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

标签 c++ code-formatting

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

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

在没有太多字符串的情况下,我可以手动断开字符串,但今天我遇到了一个包含超过行长度限制的约 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

关于c++ - 转换非常长的 C++ 字符串文字以满足最大行长度策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57798420/

相关文章:

c++ - 运行时在 boost::mpl::vector 中找到第一个匹配项

java - 在协作 Java 开发中强制执行代码格式化规则

android-studio - 如何在 Android Studio 中按字母顺序重新排列代码?

c++ - 如何使用 Judy 阵列

c++ - 可以向任何方向延伸的对象的二维网格 C++

c++ - 如何在 WTL 的 treeview 控件中包装项目文本

c++ - 为什么这段代码会产生竞争条件?

java - 使用静态函数/变量相对于类/对象有什么好处吗?

xml - 如何取消格式化 Visual Studio 2008 中的文档?

c++ - 如何让 Eclipse CDT 代码格式化程序理解右值引用?