Indentasi otomatis dalam Notepad ++


187

Kami selalu menulis kode seperti ini formal:

void main(){
  if(){
    if()
    }

Teks alternatif

Tetapi ketika saya menggunakan Notepad ++ , layarnya adalah:

void main(){
if(){
if()
}

Teks alternatif

Bagaimana cara menggunakan Notepad ++ ke indentasi otomatis?

Terima kasih kepada Jonathan , saya telah mengaturnya, tetapi itu tidak berpengaruh. Snapshot di bawah ini:

Teks alternatif

Saya menggunakan Notepad ++ versi 5.1.3.

Jawaban:


135

Notepad ++ hanya akan secara otomatis memasukkan indentasi berikutnya jika Anda secara manual indentasi baris pertama dalam sebuah blok; jika tidak, Anda dapat indentasi ulang kode Anda setelah menggunakan fakta TextFX > TextFX Edit > Reindent C++ code.


1
Jika versi Anda tidak memiliki DLL, Anda bisa mendapatkannya dari versi ZIP 5.9.0. Beberapa versi yang lebih baru tidak menyertakan DLL ini. notepad-plus-plus.org/download/v5.9.0.html
Fostah

2
Saya benar-benar menemukan ini sambil mencari cara untuk memformat kode javascript. Ternyata, ini berfungsi untuk file .js juga!
sacredfaith

7
@Fostah: Anda juga dapat menginstal "Text FX Character" melalui> Plugins> Plugin Manager> Show Plugin Manager
Adrien Be

@scronide, Apakah ada tombol pintas untuk ini?
Pacerier

Perhatikan bahwa meskipun namanya, itu benar-benar juga benar indentasi ulang kode javascript yang saya coba untuk memperbaiki lekukan. Tidak ada alasan saya akan mengharapkan untuk tidak, hanya menyebutkan, karena nama adalah lebih spesifik. Entah mengapa penulis perpustakaan itu merasa dia harus memberikan preferensi khusus untuk C ++ ...: D
neminem

99

Jika menu TextFX tidak ada, Anda perlu mengunduh & menginstal plugin. Plugins-> Plugin Manager-> Show Plugin Manager dan kemudian periksa plugin TextFX Characters . Klik 'instal,' restart Notepad ++.

Dalam versi Notepad ++ v6.1.3, saya menyelesaikannya dengan: Plugin Manager-> Show Plugin Manager ** dan kemudian periksa plugin "Indent By Fold"


2
Lekukan oleh lipatan itu mengagumkan. Fakta bahwa ia berfungsi dalam format sewenang-wenang ( XML, C / ++ / #, dll. ) Sangat bagus. Satu-satunya masalah dengan itu adalah tumpukan "undo". Saat digunakan, jika Anda ingin membatalkan ke titik sebelum ketika Anda menjorok ke dalam, Anda harus membatalkan melalui setiap lekukan-ulang baris, karena tidak ditambahkan ke stack sebagai perintah tunggal. Pada dasarnya, berhati-hatilah saat bekerja dengan file yang panjang .
Dan Lugg

Hai @Dan masalah undo tampaknya telah diperbaiki dalam versi indentasi yang lebih baru ...
538ROMEO

1
Ya, itu tidak ada dan tidak ada Plugin Manager.
Beyondo

31

Tampaknya ada opsi untuk auto-format XML setidaknya. Itu dapat ditemukan di TextFX -> TextFX HTML Tidy -> Tidy: reindent XML.


2
Anda memerlukan plugin TextFx untuk ini
arviman

29

Sebagian besar pengembang program pengeditan teks menyalahgunakan nama ini (indentasi otomatis). Nama yang benar adalah "mempertahankan indentasi". Indentasi otomatis adalah yang Anda inginkan, tetapi tidak diterapkan.

Saya juga ingin melihat fitur ini di Notepad ++.


22

Dalam versi terbaru (setidaknya), Anda dapat menemukannya melalui:

  • Pengaturan (menu)
  • Preferensi ...
  • MISC (tab)
  • daftar kotak centang kiri bawah
  • " Indentasi otomatis " adalah opsi ke-2 dalam grup ini

[ EDIT ] Meskipun demikian, saya tidak berpikir itu memiliki implementasi terbaik dari indentasi otomatis. Jadi, periksa untuk memastikan Anda memiliki versi 5.1 - indentasi otomatis baru-baru ini diperbaiki, sehingga mengoreksi indentasi Anda secara otomatis.


Perhatikan juga bahwa Anda melewatkan blok untuk ke-2 if:

void main(){
  if(){
    if() { }  # here
  }
}

8
Perhatikan bahwa pengaturan indentasi otomatis di Notepad ++ ini mengasumsikan Anda melakukan indentasi pertama dalam satu blok secara manual; itu tidak memformat kode secara otomatis untuk Anda.
scronide

Saya mengerti maksud Anda sekarang, maafkan Eng saya yang malang ... Bahasa ibu saya adalah bahasa Cina ...
Turion

14

Anda dapat menggunakan plugin 'Indent by fold'. Instal dari pengelola plugin. Ini bekerja dengan baik untuk saya.


2
Indentasi oleh lipatan bagus, kecuali itu hanya indentasi demi lipatan;) Dalam situasi di mana Anda telah membuat indentasi daftar, kecuali bahasa menggunakan karakter lipat untuk membatasi penginisialisasi, itu akan berakhir tanpa indentasi. Contohnya adalah inisialisasi array multi-line dalam menggunakan PHP array( ... ), di mana ()non-lipat.
Dan Lugg

5

Dalam versi 6.6.8 saya menginstal plugin NppAutoIndent dari Plugins> Plugin Manager> Show Plugin Manager. Kemudian saya memilih opsi Indent Smart di Plugin> NppAutoIndent. Semoga ini membantu.


4

Sedikit pembaruan: Anda dapat melewati Plugin TextFX dan cukup menggunakan Tidy2 . Di sini Anda dapat mengonfigurasi aturan pemformatan Anda sendiri untuk berbagai jenis kode. Mudah dipasang dan dihapus di dalamnya

Notepad ++> Plugins> Plugin Manager> Show Plugin Manager

dan hanya mencari Tidy2 dan menginstalnya. Selesai


Bisakah Anda jelaskan lebih banyak?
Dieter Meemken

Informasi lebih lanjut tentang konfigurasi dapat ditemukan di sini: stackoverflow.com/questions/14865770/using-tydy2-for-notepad
Sven Ya

cukup sulit untuk menggunakan ini dibandingkan dengan plugin lain
Gaurav khurana

4

Bagi mereka yang menggunakan Notepad ++ v6.8.1 dan yang lebih baru, pengaturan indentasi sekarang ditempatkan di menu PengaturanPreferensiMISC. Indentasi Otomatis .

Masukkan deskripsi gambar di sini



2

Ini mungkin tampak konyol, tetapi dalam pertanyaan awal, Turion mengedit file teks biasa. Pastikan Anda memilih bahasa yang benar dari menu Bahasa


2
Menu TextFX → TextFX Edit → Reindent C++ code

masukkan deskripsi gambar di sini

Tapi , Notepad ++ tidak datang dengan plugin "Text FX Character" ini. Anda harus menginstalnya melalui

Plugins → Plugin Manager → Show Plugin Manager.

Untuk menambahkan pintasan untuk Indentasi .

Klik PengaturanShortcut Mapper ... atur tombol pintas yang Anda inginkan. Saya lebih suka Ctrl+ =.

Masukkan deskripsi gambar di sini


1

Instal plugin Tidy2. Saya memiliki Notepad ++ v6.2.2, dan Tidy2 berfungsi dengan baik sejauh ini.


1

Pertama unduh pengelola plugin tautan ini kemudian unzip folder zip dan salin ini di dalam folder program / notepad ++ Anda. kemudian restart notepad ++ Anda. kemudian Anda melihat pengelola plugin di dalam menu plugin. lalu klik pengelola plugin lalu klik tampilkan pengelola plugin. Ini menunjukkan semua daftar plugin Anda. dari daftar di bawah, temukan alat XML, periksa dan instal. kemudian restart notepad ++ Anda. Setelah membuka dokumen kemudian plugins / xml tools / pretty plain (indent text) kemudian nikmati.


0

Bagi mereka yang menggunakan versi 7.8.5, pengaturan indentasi otomatis sekarang terletak di "Pengaturan" -> "Preferensi ..." -> "Penyelesaian Otomatis".

masukkan deskripsi gambar di sini


0

Cobalah untuk menyimpan file sebelumnya, maka itu akan membuat indentasi.


Bisa jadi komentar!
Farbod Ahmadian

Bisakah Anda menjelaskan lebih lanjut tentang ini?
Toto
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.