ソースコードフォーマッター/インデンター


17

Ubuntu 12.04を使用しています。これは会社のマシンであるため、ルートまたはsudo特権はありません。

Ubuntu 12.04の通常のインストールでは、インデントのない見苦しい不正なソースコードを素敵なコードに変換するために使用できるターミナルプログラムはありますか?

繰り返しますが、私はパッケージをインストールできないので、そのようなものが存在する場合は、すでにUbuntuに付属しているものが必要です。

例えば:

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

そして、それを次のように変換します:

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

コードの表示または編集には何を使用しますか?おそらく、あなたはそれをあなたのエディターでインデントしたいですか?または、複数のファイルのコマンドラインからこれを実行しますか?
テルドン14

オンラインツールのようですか?
Braiam

1
GeditがIIRCをインデントし、KDEに切り替えることができる場合、kateはファイルタイプに基づいて強調表示およびインデントします
eyoung100 14

回答:


12

vimエディターをインストールしている場合は、ファイルを開き、vim file.c入力=Gしてファイルを最初から最後までインデントします。次に、で保存し:wqます。

デフォルトのインストールではvi(ではなくvim)がインストールされるため、必要なidentパッケージはありません(karelによると)。


9

clang-formatはあなたの友達です!使いやすく便利です。
ここにいくつかの情報があります。

使用法

$ clang-format file > formattedfile

または:

$ clang-format -i file


ステップバイステップガイド

1.恐ろしくフォーマットされたコード

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

main.cc

2.魔法のコマンド

$ clang-format -i main.cc


3.適切にフォーマットされたコード

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

main.cc

4.幸福の

インストール

気に入ったら、次の方法でインストールできます。

$ sudo apt-get install clang-format

コマンド。


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

これらのコマンドは、通常のユーザーとして実行できます。ルートである必要はありません。


2
これは会社のマシンであるため、ルートまたはsudo特権はありません。
user9993 14

5
@ user9993を使用してパッケージをダウンロードしapt-get download indentて抽出できます。dpkg-deb -x indent*.deb fs/インデントバイナリはにありfs/usr/bin/ます。
Lekensteyn

2

デフォルトでnanoはubuntuにインストールする必要があります。

nano -i file自動インデントを有効にして編集に使用できます。

これは既存の行を変更しない可能性があります。そのため、手動でインデントする必要があります。

参照:http : //www.nano-editor.org/dist/v2.0/nano.html


1

astyleindentは思い浮かびますが、デフォルトのUbuntuインストールにはどちらも含まれていません。もちろん、Cコンパイラーがある場合は、それらをコンパイルして、独自のPATHのどこかにインストールできます。

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

1

emacs:

  • Cファイルを開く

  • すべて選択

  • インデント(タブキー)

  • ファイルを保存

HTH

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.