【问题标题】:Moving all {'s to the right of function name?将所有 { 移到函数名称的右侧?
【发布时间】:2011-01-08 23:03:53
【问题描述】:

我正在合并一些代码,这段代码的功能都是这样的:

void someFunction()
{

}

虽然我们所有的代码都需要:

   void someFunction() {

    }

我想知道是否有一种方法可以查找和替换以立即更改所有内容。这样可以节省我的工作时间。

我正在使用 VS 2008。

谢谢

【问题讨论】:

  • 您是在合并代码时遇到问题,还是只想让所有代码看起来很有趣? (指南声明您应该将开始的大括号放在自己的行上 - 有助于提高可读性。)您可以更改 VS2008 中的格式规则并重新格式化旧代码或您的代码,然后重新尝试合并。
  • @Cory:哪些指南?我不知道编程之神传下来的任何通用准则。你的意思是你的准则?那很好;不过,人们有不同的约定。
  • 需要注意的一点:如果我编写这样的函数:void MyFunction() // Here's what this does 然后在下一行放置一个大括号,将大括号向上拉一行可能会不小心将其注释掉。任何解决方案都应该注意这种情况。
  • 办公室工作慢?还是您只是在寻找一种通过做无意义的工作来拖延的方法?
  • 我不得不说;这是有史以来最愚蠢的事情(不是你,无论是谁让你这样做)。规则应该是:“在新代码中,以这种方式进行,每当你处理旧代码时,就修复它。” 愚蠢 浪费时间“修复”完美运行的代码,这种方式在语义上不会产生任何差异。除非您的公司只是为了完成实际工作而没有客户付钱,否则我认为没有必要这样做。你以前做过多少次这样的工作?

标签: c++ visual-studio visual-studio-2008


【解决方案1】:

有一个名为Artistic Style 的优秀开源代码重新格式化程序正是为此目的而设计的。使用您想要遵循的样式设置对其进行配置,并且它可以正常工作。强烈推荐。

Artistic Style 是一个源代码 压头、格式化和美化器 适用于 C、C++、C# 和 Java 编程语言。

在缩进源代码时,我们作为 程序员倾向于使用 空格和制表符 创建想要的缩进。 此外,一些编辑器默认 插入空格而不是制表符 按 T​​ab 键和其他 编辑器(例如 Emacs)有 “美化”线条的能力 自动设置白色 行代码前的空格, 可能在代码中插入空格 到目前为止,只使用标签 缩进。

由于 NUMBER 个空格字符 显示在每个选项卡的屏幕上 源代码中的字符更改 编辑之间(除非用户设置 增加他喜欢的数字...),一个 标准问题程序员 从一个编辑器移动时面临 另一个是包含的代码 空格和制表符最多 现在完全缩进,突然 什么时候变得一团糟 换另一个编辑器。即使 作为程序员的你只关心 使用空格或制表符,查看其他 人家的源代码还是可以的 有问题。

为了解决这个问题,Artistic 创建了样式 - 编写了一个过滤器 在 C++ 中自动重新缩进 并重新格式化 C / C++ / C# / Java 源文件。它可以从一个 命令行,也可以是 在另一个 C++ 中作为类合并 程序。

【讨论】:

    【解决方案2】:

    您可以在“查找和替换”窗口中使用 Visual Studio 的“全部替换”和正则表达式。会是这样的
    查找:\):b*\n:b*\{
    替换:) {
    您需要先尝试一下,以确保它不会更改您不想更改的内容,例如如果您想将 if() { 保留在单独的行中。
    另一个可能可行的选择是按照您想要的方式获取所有 Visual Studio 文本选项,然后尝试自动格式化每个文件。

    【讨论】:

    • 它给出了“模式中的语法错误”,但你在正确的路线上(我自己一直在努力让它正确)。
    • 谢谢。忘记了 ) 和 { 前面的 \'s。固定。
    【解决方案3】:

    Eclipse CDT 和 IDE 通常具有您可以定义的格式规则,然后通过单击菜单或键盘快捷键将其应用于整个文件

    【讨论】:

      【解决方案4】:

      工具 > 选项 > 文本编辑器 > C++ > 格式化 > 换行,

      您应该能够(暂时)更改规则,重新格式化您的代码,然后尝试合并。 (我从 C# 中提取了这些设置——我没有在这台机器上安装 C++ 的东西来验证。)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-26
        • 1970-01-01
        • 2020-03-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-20
        相关资源
        最近更新 更多