源代码格式化程序/缩进程序

源代码格式化程序/缩进程序

我使用的是 Ubuntu 12.04。由于这是公司机器,所以我没有任何 root 或 sudo 权限。

在 Ubuntu 12.04 的正常安装中,是否有任何终端程序可以用来将缺少任何缩进的丑陋格式错误的源代码转换为美观的代码?

再次,我无法安装任何软件包,因此我需要一个已经随 Ubuntu 附带的软件包(如果存在这样的东西的话)。

例如:

    int main()
    {
test(1);
another_function(1);
}

然后将其转换为:

int main()
{
    test(1);
    another_function(1);
}

答案1

clang 格式是你的朋友!它易于使用且有用。
以下是有关它的一些信息。

用法

$ clang-format file > formattedfile

或者:

$ clang-format -i file


分步指南

1. 格式糟糕的代码

#include <iostream>
  using namespace std;
    int main() {
         cout << "Oh";
      cout << "clang format rulez!";       
             }

主目录

2. 魔法命令

$ clang-format -i main.cc


3. 格式良好的代码

#include <iostream>
using namespace std;
int main() {
  cout << "Oh";
  cout << "clang format rulez!";
}

主目录

4. 幸福

安装

如果你喜欢它,你可以安装它,

$ sudo apt-get install clang-format

命令。

答案2

如果您安装了 vim 编辑器,请使用 打开文件vim file.c并键入=G以从头到尾缩进文件。然后使用 保存:wq

在默认安装中,vi(未vim)被安装,因此它没有所需的ident包(如 karel 所述)。

答案3

打开终端并运行:

sudo apt-get install indent
indent -linux -l120 -i4 -nut unformatted-source-code.cpp

...其中 unformatted-source-code.cpp 是包含未格式化的 C++ 源代码的文件,例如示例中的代码。

或者,如果您无法安装它,您可以使用 下载软件包apt-get download indent并解压它:dpkg-deb -x indent*.deb fs/,缩进二进制文件位于fs/usr/bin/其中 fs 是您主目录中的任意目录。如果您将 unformatted-source-code.cpp 文件复制到同一位置,,fs/usr/bin/则从终端缩进代码的命令是:

cd path/to/fs/usr/bin/  # change directories to the location of "indent" executable
./indent -linux -l120 -i4 -nut unformatted-source-code.cpp

这些命令可以以普通用户身份运行。无需成为 root 用户。

答案4

阿斯泰尔缩进突然想到了,但默认的 Ubuntu 安装不包括这两个。当然,如果你有 C 编译器,你可以编译它们并将它们安装在你自己的 PATH 中的某个地方。

# Something like -
./configure --prefix=$HOME/tools
make
make install
PATH=$PATH:$HOME/tools/bin

相关内容