【问题标题】:Cleanup spacing - C++ / Visual Studio 2010清理间距 - C++ / Visual Studio 2010
【发布时间】:2012-03-01 23:23:25
【问题描述】:

是否有适用于 Visual Studio 2010 的内置功能或可用的附加组件来清理 C++ 代码中的间距,以便像这样烦人的块:

RandomVar=RandomList.RandomMethod();

会变成

RandomVar = RandomList.RandomMethod();

(循环中的间距等也是如此)

...或者我是否需要自己使用查找/替换和正则表达式来执行此操作?

【问题讨论】:

标签: visual-studio-2010 visual-c++ coding-style code-formatting


【解决方案1】:

我认为您正在寻找编辑->高级->格式化文档。这将根据 Tools->Options->Text Editor->c/c++->Formatting 中的设置重新格式化您当前的文档。

在我的例子中是键盘快捷键 Ctrl+E+D。

【讨论】:

  • 没有这个选项,不就是C#的吗?我可以格式化选定的代码,但 C++ 的选项不如 C# 广泛,所以这无济于事。
  • 在 Visual Studio 2010 for C++ 中,此选项为 Edit->Advanced->Format selection,因此您应该在格式化之前选择整个文档。
【解决方案2】:

虽然最初用于 C 代码格式的 lint 已被修改以涵盖 C++ 并移植到许多平台。

一些 lint 变体只报告布局不一致,其他变体可以为您修复。有些是免费的,有些是付费的。

这将是 IDE 之外的修复,因为这是一个单独的工具(至少传统上是这样!)

This wikipeadia article 列出了一些可能的 lint 工具来源

(这是我最初问题中的一个页脚,但由于这提出了两个解决方案,所以我在这里提取了它,因此如果你找到一个合适的答案,你可以接受一个具体的答案)

【讨论】:

  • 哇,好长的名单。关于尝试哪个/s的任何提示? VS 也至少有一个 lint 插件......
  • 对不起,没有。我生活在 C# 中,所以我的 C++ 主要是大学时记住的东西。 Lint 是 unix 上 C 时代的老朋友,它是 Os 和 C 编译器的一部分。所以我不必自己选择一个 windows lint 工具,希望其他发帖人可以用他们的个人推荐来补充我的帖子。
【解决方案3】:

这不是一个合适的“解决方案”,而是一种可能的解决方法,无需寻找外部工具

  • 在“工具”菜单中选择“选项...”
  • 在此对话框中导航到 “文本编辑器 -> C/C++ -> 格式化”
  • 根据需要设置布局选项 希望您的代码看起来。
  • 单击确定。
  • 现在在一个带有“坏”的单元中 格式化从菜单中选择“编辑->高级->格式化文档”,IDE将重新格式化 文档以匹配您的设置。

对于 C#、VB 等,“格式化”选项有几个子节点,可为您要求的间距选项提供精细控制。相比之下,C/C++ 的列表是扁平的并且非常有限。我怀疑你想要的布局没有足够的灵活性。

因此您可能无法直接获得所需的格式。怎么样...

  • 在 C# 设置中为 C++ 设置所需的间距规则
  • 暂时将 C# 项目添加到您的解决方案中
  • 向其中添加一个类
  • 清空它。
  • 粘贴 C++(导致重新格式化)
  • 复制回原始文件
  • 冲洗并重复
  • 删除临时 C# 项目

我不得不说这并不漂亮,但考虑到 C++ 和 C# 之间的语法相似性,它可能非常匹配。

【讨论】:

  • 感谢您的提示,但似乎没有任何用于间距的 C++ 格式设置,即使 C# 有更多选项,该提示也不适用于我。
【解决方案4】:

Eclipse 中 C++ 的自动格式化设置比 Visual Studio 中的更广泛,所以我最终改用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-31
    • 1970-01-01
    • 2012-12-17
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多