【问题标题】:How to edit formatting settings to increase line wrapping length?如何编辑格式设置以增加换行长度?
【发布时间】:2020-01-03 22:09:47
【问题描述】:

我无法弄清楚如何在 C++ 格式化程序中设置换行距离。每次我格式化文档时,如果给定的行大于 100 个字符(至少看起来是 100 个),则该行将在 100 个字符标记之前的最近位置拆分。无论长度如何,我都希望它永远不会分割一行,因为使用 VS Code 的自动换行功能对我来说更容易。简单的问题,但事实证明它让我很头疼。

我尝试过使用 Prettier 和 Clang 等其他格式化程序,但无济于事。我似乎也找不到任何有关 Microsoft C++ 扩展的自定义设置的文档。我还设置了 Editor: Word Wrap Column 设置大于 200。

预格式化:

std::cout << boost::format("Actual RX Antenna: %s") % usrp->get_rx_antenna() << std::endl << std::endl;

后期格式:

std::cout << boost::format("Actual RX Antenna: %s") % usrp->get_rx_antenna() << std::endl
              << std::endl;

为了清楚起见,我不希望在格式化期间分割行。

感谢您的帮助!

【问题讨论】:

  • 尝试在您的settings.json 中设置"editor.wordWrapColumn": "150"
  • 试过了,可惜没用。我想我过去是为 JavaScript 格式化程序这样做的,但它似乎不适用于 Microsoft C++ 格式化程序。

标签: c++ visual-studio-code format vscode-settings


【解决方案1】:

Microsoft VS Code C++ 包名为 cpptools,它使用 Clang。 Clang 是非常强大的格式化程序,可以处理多种不同的语言。但是,在 VS Code 中不容易访问 Clang 的各个设置,因此它们提供了使用许多标准设置的简单能力,例如 LLVM、Google、Chromium、Mozilla、WebKit 等 (see BasedOnStyle section) 或指定.clang-format 文件中的所有自定义设置都在保存您尝试格式化的文件的目录中。因此选择标准很好,但不是很可定制,并将 .clang-format 文件的副本放入每个目录都不会削减它。值得庆幸的是,还有第三个选项,它最有力地解决了我的问题,您可以在 VS Code 中以 json-esque 格式输入 individual settings,其中一个允许您将自定义设置 (BasedOnStyle) 基于标准。然后我只是继续我需要的设置。解决原始问题的方法是 ColumnLimit。为清楚起见,这些是我在 VS Code 中的设置。

C_Cpp:Clang_format_style

文件

C_Cpp:Clang_format_fallback 样式

{ BasedOnStyle:LLVM,IndentWidth:4,ColumnLimit:1000 }

【讨论】:

  • 逐字设置将是: "C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: LLVM, IndentWidth: 4, ColumnLimit: 1000 }",
  • 详细解释见thismedium post。
猜你喜欢
  • 2015-10-25
  • 2011-11-14
  • 1970-01-01
  • 2012-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-30
  • 2011-09-30
相关资源
最近更新 更多