Pertanyaan Notepad ++: menonaktifkan indentasi otomatis setelah baris kosong


Saya menemukan gaya autoindent dari Notepad ++ agak aneh: ketika saya mengetik pada garis indentasi, saya melakukan ingin itu indent baris berikutnya setelah saya tekan Enter (ini tidak benar). Namun, ketika saya berada di jalur kosong (tidak ada indentasi, tidak ada karakter) dan saya menekan Enter, itu mengindentifikasikan baris berikutnya, menggunakan lekukan yang sama sebagai baris terakhir yang tidak kosong. Saya menemukan ini sangat menjengkelkan; apakah Anda pernah mengalami masalah ini dan apakah Anda tahu cara memperbaikinya?

(Catatan: Saya sedang mengedit file HTML / PHP.)

(Juga, saran dari editor gratis lain yang baik untuk HTML / PHP diterima, jika tidak ada cara untuk mengubah perilaku ini.)


32
2017-09-23 01:57


asal


Jawaban:


Perilaku ini dapat dimatikan dengan melakukan:

Plugin> NppAutoIndent> Baris sebelumnya

Jika opsi ini dinonaktifkan, Anda mungkin harus memeriksa opsi ini terlebih dahulu:

Plugin> NppAutoIndent> Abaikan bahasa


22
2017-12-06 12:43



Saya dapat mengonfirmasi bahwa masalah ini terjadi dengan Notepad ++ versi 5.0.3. Satu-satunya pengaturan terkait yang saya temukan adalah di bawah Pengaturan> Preferensi> MISC> Indentasi Otomatis, tetapi itu hanya mengubah semua indentasi otomatis menjadi aktif atau nonaktif.

Saya telah menggunakan Editra (http://editra.org) di masa lalu dan senang dengan itu dan tampaknya menangani indentasi seperti yang Anda gambarkan.


13
2017-09-23 02:09



Saya menemukan cara lain:

Gunakan makro "Potong Trailing dan simpan" pintas "Alt + Shift + S"

Saya membutuhkan ini sepanjang waktu, cukup tukar save short-cut dengan makro "Potong Trailing dan simpan" pintas.

Saya hanya cenderung menggunakan notepad ++ ketika saya sedang memprogram jadi ini bekerja dengan baik untuk saya.


3
2018-01-28 14:22



Sangat disayangkan bahwa Notepad ++ tidak memangkas baris baru kosong kedua secara otomatis. Tapi, sebagai kerja-sekitar, saya setuju dengan user108570: makro akan sempurna.

Saya suka membuat perbedaan konseptual antara "lembut" melawan "keras" linefeeds, secara analog ke dua jenis tab. Output dari yang pertama tergantung pada pengaturan gaya dan indentasi saat ini. Akan tetapi, output dari yang terakhir ini harus selalu sederhana, murni, dan tidak beraneka ragam.

Rasa yang paling sering digunakan dari linefeed, tentu saja, harus dipetakan ke kombinasi tombol yang lebih sederhana. Untuk sebagian besar pengeditan Anda, Anda mungkin ingin meninggalkan "soft linefeed" yang dipetakan ke tombol "Enter" dan mengubah "Ctrl + Enter" untuk memicu "hard linefeed".

Dalam "Menu -> Pengaturan -> Pemotong Pintasan -> Menu Utama" Anda akan melihat bahwa secara default "Ctrl + Enter" dipetakan ke "Penyelesaian Word". Ini harus dinonaktifkan terlebih dahulu dengan memetakannya menjadi "Tidak Ada".

Kemudian cukup rekam makro:

  1. Menu -> Makro -> Mulai Merekam
  2. Keyboard -> Enter
  3. Keyboard -> Tab
  4. Keyboard -> Shift + Beranda
  5. Keyboard -> Hapus
  6. Menu -> Makro -> Berhenti Merekam
  7. Menu -> Makro -> Simpan Rekaman Makro Saat Ini

Langkah terakhir akan muncul dialog di mana Anda akan menamai makro (mis. "Hard Linefeed") dan mengatur pemetaannya (yaitu "Ctrl + Enter").

Pada langkah 3 kita bisa menambahkan sesuatu (dapat dicetak). Satu-satunya tujuan adalah menambahkan sesuatu untuk dihapus jika sebelumnya tidak ada, sehingga teks yang mengikuti kursor akan tetap tidak tersentuh.


2
2018-05-19 12:40



Trim Trailing Space dan Save mengganggu. Anda akan melihat bahwa Anda memasukkan beberapa karakter ke dokumen secara tidak sengaja.

Sebaliknya, rekam makro dan ikat ke ctrl + s Anda.

Berikut cara melakukannya:

  1. Makro -> Mulai Merekam
  2. Edit -> Trim Trailing Space
  3. File -> Simpan
  4. Makro -> Berhenti Merekam
  5. Makro -> Simpan rekaman makro saat ini (Potong dan Simpan)
  6. Pengaturan-> Shortcut Mapper
  7. Menu Utama -> Simpan -> Ctrl + Alt + Shift + Simpan
  8. Macros-> Pangkas dan Simpan -> Ctrl + S

1
2017-07-22 15:49



Apa yang saya lakukan di Notepad ++ adalah:

  • Ada makro "trim trailing spaces" di TexFX> TexFX Edit.
  • Gunakan ini untuk membangun makro "trim dan simpan".
  • Mengikat makro itu ke CTRL+S, dan ikat 'Simpan' ke sesuatu yang lain.

Saya akan memberitahu Anda cara merekam makro yang menggunakan makro lain, tetapi bertahun-tahun yang lalu saya melakukannya dan sekarang saya hanya menyalin file di sekitar. Saya berharap itu Hanya Bekerja, atau mungkin saya melakukannya dengan secara manual mengedit file cara pintas. Terlihat seperti ini (dalam shortcuts.xml):

<Macro name="Trim and save" Ctrl="no" Alt="yes" Shift="yes" Key="83">
    <Action type="1" message="2170" wParam="0" lParam="0" sParam=" " />
    <Action type="1" message="2170" wParam="0" lParam="0" sParam=" " />
    <Action type="1" message="2170" wParam="0" lParam="0" sParam=" " />
    <Action type="0" message="2327" wParam="0" lParam="0" sParam="" />
    <Action type="0" message="2327" wParam="0" lParam="0" sParam="" />
    <Action type="2" message="0" wParam="42024" lParam="0" sParam="" />
    <Action type="2" message="0" wParam="41006" lParam="0" sParam="" />
</Macro>

Dua peringatan:

  • Makro trim adalah buggy. Ini hanya berfungsi jika kursor berada di ujung garis saat digunakan. Saya kadang-kadang berpikir tentang mencoba memperbaikinya atau melakukan sendiri, tetapi tidak pernah dapat diganggu karena saya secara refleks mengatasinya dengan menggerakkan kursor sendiri sebelum menabung. Solusi yang sama hanya bisa dibangun ke makro "trim and save" Anda.

  • Beberapa orang merasa kesal jika Anda menghapus spasi kosong dari file "mereka" - baik karena mereka menyukainya, atau karena mereka terkadang menggunakan diff tanpa mengabaikan spasi (misalnya dalam laporan perubahan) dan tidak ingin melihat bahwa Anda telah berubah setengah file ketika benar-benar itu satu-liner. Jadi untuk file-file itu, tinggalkan saja spasi kosong seperti itu dan simpan dengan alt-f-s (atau 'sesuatu yang lain' yang Anda simpan ke) daripada ctrl-s. Anda mungkin perlu mengatur Notepad ++ untuk tidak menghapus penyangga undo pada penyimpanan: jika tidak, kesalahan di sini akan menjadi sedikit bencana. Tapi saya mengaturnya.


1
2017-09-23 03:12



Sejujurnya, bagi saya ini tampaknya perilaku yang diharapkan. Baris kosong banyak digunakan sendiri untuk memecah kode agar lebih mudah dibaca, setelah program membuat saya harus keluar lagi akan sangat menjengkelkan.

Saya dapat memahami ini sebagai frustrasi dengan sesuatu seperti Python, tetapi tidak dengan PHP ... Padahal, sebelum kawat gigi dll ini mungkin menjengkelkan.

Mencoba Sunting Komodo Namun, ini gratis, dan saya telah menemukan bahwa itu secara umum adalah yang terbaik untuk indentasi otomatis untuk saya. Tampaknya telah mempelajari gaya pengkodean saya (atau memiliki opsi di dalamnya untuk semua gaya pengkodean dan mengambil apa yang Anda gunakan) dan secara otomatis mengindentasikan semuanya dengan benar.

Edit: Seperti yang telah Anda catat dalam balasan Anda, masalahnya adalah dengan "spasi kosong" - Saya tidak tahu Notepad ++ terlalu baik, tetapi sebagian besar editor modern yang dirancang untuk pengkodean memiliki pilihan "strip trailing whitespace on save" (saya tahu Komodo tidak!)


0
2017-09-23 02:02