【问题标题】:Hard wrap string literals at print margin in Eclipse C/C++在 Eclipse C/C++ 中的打印边距处硬包装字符串文字
【发布时间】:2026-02-06 22:40:01
【问题描述】:

C/C++ Eclipse 可以自动格式化和包装几乎任何类型的代码,并且行为非常可配置,字符串文字除外。这是一个虚构的示例,其中调试输出消息恰好比可打印区域内的长度更长:

if (some_kind_of_action() == TOUGH_LUCK) {
    system_debug_print("Task name error: some_kind_of_action() failed due to your sloppy design.");
}

使用 79 个字符的打印边距,理想的结果可能是:

if (some_kind_of_action() == TOUGH_LUCK) {
    system_debug_print("Task name error: some_kind_of_action() failed due to yo"
        "ur sloppy design.");
}

您可以通过键入字符串文字来手动执行此操作,然后将光标置于所需的换行点并按 Enter 键。 Eclipse 会自动添加必要的引号。这一切都很好,直到您的代码中的某些内容发生更改并且您必须手动重做包装。我不明白为什么不能像任何其他代码一样完全自动地在打印边距处换行。

有没有办法在 Eclipse for C/C++ 的打印边距处自动硬包装字符串文字?

【问题讨论】:

    标签: c eclipse coding-style


    【解决方案1】:

    Eclipse 的任何编辑器都不支持此功能(即使它是九年前的requested)。但是,您可以通过使用以下启用软换行的插件来避免手动中断行。

    http://ahtik.com/blog/projects/eclipse-word-wrap/

    【讨论】:

    • 感谢您的评论。我想我们在这里谈论的事情略有不同。如果我理解正确,您说的是“软”换行,它只是视觉换行,Eclipse 不支持它,而这个插件就是这样做的。我说的是“硬”包装,Eclipse 主要支持这种包装,字符串除外。 “硬”换行实际上是在文本中插入换行符。
    • 对不起,如果我不清楚。我链接的错误报告讨论了硬包装和软包装,而 Eclipse 都不支持。我提供了软包装插件的链接,以防万一它对您有所帮助,即使它不是硬包装。