Versi 5.7 dari Python autoindent di Notepad ++ setengah bekerja

3

Autoindenting tidak berfungsi pada Notepad ++ dengan benar. Saya tidak dapat menemukan file SciTE yang setara . Pengaturan menu -> Preferensi -> MISC -> Indentasi otomatis dicentang. Saya tidak dapat menemukan pengaturan indentasi Python selain dari Pengaturan menu -> Preferensi -> pengaturan lang / tab -> pengaturan tab default -> Python -> ukuran 4, ganti dengan spasi.

if True:
pass

Tapi itu terus membuat indentasi jika indentasi secara manual:

if True:
    #foo
    pass

Dalam SciTE berfungsi sebagaimana dimaksud. Saya menemukan variabel yang mengendalikan ini:

# python.properties
statement.indent.$(file.patterns.py)=5 class def elif else except finally for if try while with

scite:

if True:
    pass
monyet
sumber

Jawaban:

3

Pertanyaan ini layak mendapatkan jawaban yang diperbarui: sekarang ada plugin Python Indent yang, ketika diaktifkan (Menu Utama> Ekstensi> Python Indent> Aktifkan) indentasi saat mengetik Python. Baris baru setelah titik dua :seperti di def foo():indentasi baris berikut, menghasilkan:

def foo():
    """ works """
    pass

Dengan versi Notepad ++ saat ini, hadir Pengelola Plugin (Menu Utama> Ekstensi> Pengelola Plugin), yang membuat pemasangan plugin menjadi sangat mudah.

ojdo
sumber
2

Sebagian besar pengembang program pengeditan teks menyalahgunakan indentasi nama, seperti halnya Notepad ++, yang hanya memiliki "mempertahankan indentasi".

Anda bisa menggunakan plugin NppAutoIndent .

Deskripsi di plugin Directory for Notepad ++ mengatakan:

Plugin NppAutoIndent memiliki lekukan 'pintar' untuk bahasa gaya-C, seperti C / C ++, PHP, Java dan semacamnya.

Ini adalah rilis pertama jadi jangan berharap itu sempurna, dan tentu saja itu tidak sepenuhnya sesuai dengan preferensi Anda;)

Tidak ada dukungan untuk HTML / XML dan seperti itu, mungkin nanti, pencocokan tag jauh lebih sulit untuk diterapkan.

Indentor lain adalah UniversalIndentGUI , yang secara tegas mengklaim dukungan untuk Python dalam daftar fitur-fiturnya , dan tersedia sebagai plugin Notepad ++.

harrymc
sumber
@Ciantic: Jika Andalah yang menerima jawaban saya, hanya komentar yang menerima jawaban dan menugaskan hadiah adalah dua tindakan yang berbeda. Untuk nanti, gunakan tombol Bounty.
harrymc
Bukan itu bukan aku. NppAutoIndent tidak berfungsi untuk Python. Saya akan menunggu jika seseorang menemukan solusi yang membantu Python, jika tidak ada yang muncul saya menerima ini juga.
Ciantic
@Ciantic: Saya telah menambahkan UniversalIndentGUI, yang mungkin bisa lebih baik untuk Python.
harrymc