Mã nguồn định dạng / indenter


17

Tôi đang sử dụng Ubuntu 12.04. Tôi không có bất kỳ quyền root hay sudo nào vì đây là máy của công ty.

Có phải, trong một bản cài đặt bình thường của Ubuntu 12.04, bất kỳ chương trình thiết bị đầu cuối nào tôi có thể sử dụng để biến mã nguồn không đúng định dạng xấu mà không có bất kỳ sự thụt lề nào thành mã trông đẹp mắt không?

Một lần nữa, tôi không thể cài đặt bất kỳ gói nào vì vậy tôi cần một gói đi kèm với Ubuntu, nếu điều đó tồn tại.

Ví dụ:

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

Và sau đó chuyển đổi nó thành:

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

Bạn dùng gì để xem hoặc chỉnh sửa mã? Có lẽ bạn muốn nó được thụt lề trong trình soạn thảo của bạn phải không? Hay bạn muốn làm điều này từ dòng lệnh cho nhiều tệp?
terdon

Bạn có nghĩa là như một công cụ trực tuyến?
Braiam

1
Gedit sẽ thụt lề IIRC và kate sẽ làm nổi bật và thụt lề dựa trên filetype nếu bạn có khả năng chuyển sang KDE
eyoung100

Câu trả lời:


12

Nếu bạn đã cài đặt trình soạn thảo vim, hãy mở tệp vim file.cvà nhập =Gđể thụt lề tệp từ đầu đến cuối. Sau đó lưu nó với :wq.

Trên các cài đặt mặc định, vi(không vim) được cài đặt, vì vậy nó sẽ không có identgói yêu cầu (như được đề cập bởi karel).


9

định dạng clang là bạn của bạn! Nó dễ sử dụng và hữu ích.
Dưới đây là một số thông tin về nó.

Sử dụng

$ clang-format file > formattedfile

Hoặc là:

$ clang-format -i file


Hướng dẫn từng bước

1. Mã được định dạng khủng khiếp

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

main.cc

2. Lệnh huyền diệu

$ clang-format -i main.cc


3. Mã được định dạng tốt

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

main.cc

4.

Cài đặt hạnh phúc

Nếu bạn thích nó, bạn có thể cài đặt nó với,

$ sudo apt-get install clang-format

chỉ huy.


3

Mở terminal và chạy:

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

... Trong đó unformatted-source-code.cpp là tệp có mã nguồn C ++ chưa được định dạng, chẳng hạn như mã trong ví dụ của bạn.

Hoặc nếu bạn không thể cài đặt nó, bạn có thể tải xuống gói apt-get download indentvà giải nén nó : dpkg-deb -x indent*.deb fs/, nhị phân thụt lề được đặt trong fs/usr/bin/đó fs là bất kỳ thư mục nào trong thư mục chính của bạn. Nếu bạn sao chép tệp không được định dạng-source-code.cpp vào cùng một vị trí fs/usr/bin/, thì các lệnh để thụt mã từ thiết bị đầu cuối là:

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

Các lệnh này có thể được chạy như người dùng bình thường. Nó không cần thiết phải là root.


2
Tôi không có bất kỳ quyền root hay sudo nào vì đây là máy của công ty.
dùng9993

5
@ user9993 Bạn có thể tải xuống gói với apt-get download indentvà giải nén nó : dpkg-deb -x indent*.deb fs/, nhị phân thụt lề được đặt trong fs/usr/bin/.
Lekensteyn

2

Theo mặc định, nano nên được cài đặt trong Ubuntu.

Bạn có thể sử dụng nano -i fileđể chỉnh sửa với kích hoạt tự động thụt lề.

Điều này có thể không thay đổi các dòng hiện có, vì bạn có thể phải thụt lề bằng tay.

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


1

astylethụt lề trong tâm trí, nhưng cài đặt Ubuntu mặc định cũng không bao gồm. Tất nhiên, nếu bạn có trình biên dịch C, bạn có thể biên dịch chúng và cài đặt chúng trong PATH của riêng bạn ở đâu đó.

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

1

emacs:

  • mở tập tin c

  • chọn tất cả

  • thụt lề (phím tab)

  • lưu tập tin

HTH

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.