Menetapkan ekstensi khusus ke penyorotan sintaks bahasa di Notepad ++

280

Dalam versi Notepad ++ saat ini, membuka file .sql menghasilkan Notepad yang menerapkan penyorotan sintaksis SQL. Saya ingin Notepad ++ melakukan hal yang sama untuk ekstensi lain juga, apakah ada pengaturan di mana saya dapat mendefinisikan ini?

Sathyajith Bhat
sumber
Belum? Seharusnya secara default melakukannya.
D'Arvit
2
Itu tidak untuk file
.sql
4
Saya berharap Notepad ++ hanya mengingat bahasa yang dipilih dari menu untuk setiap file, atau menawarkan untuk menambahkan ekstensi Anda ke konfigurator gaya bahasa pada kedua kalinya Anda menghubungkan ekstensi dengan bahasa.
Matthew Lock
Perhatikan bahwa Anda juga dapat memodifikasi warna bahasa ekstensi Anda melalui Bahasa / Tentukan Bahasa Anda ... menu.
usap

Jawaban:

347

Saat Anda membuka file di notepad ++, ia akan mencoba memuat penyorotan sintaksis untuk konten berdasarkan ekstensi file.

Jika Anda menggunakan ekstensi khusus untuk salah satu bahasa yang ada, Anda dapat menambahkan ekstensi khusus di Pengaturan -> Styler Configurator. Pilih bahasa dan tambahkan ekstensi di kotak edit "Ekstensi pengguna". Untuk menambahkan beberapa ekstensi, pisahkan menggunakan Space.

Anda kemudian perlu membuka kembali file Anda untuk melihat sorotan sintaks diterapkan.

Anda juga dapat mengubah gaya penyorotan sintaks dengan memilih bahasa yang berbeda dari menu bahasa.

T. Kaltnekar
sumber
Saya sudah mencoba ini, tetapi hanya menetapkan 1 ekstensi, saya ingin menetapkan beberapa ekstensi.
Sathyajith Bhat
24
Anda dapat menambahkan beberapa ekstensi dengan memisahkannya dengan spasi, menambahkannya ke dalam posting saya
T. Kaltnekar
20
Perhatikan bahwa membuat perubahan ini tidak akan memengaruhi file yang saat ini terbuka di Notepad ++. Juga, menutup dan membuka kembali Notepad ++ masih tidak akan mempengaruhi file yang tetap terbuka di antara sesi. File individual harus ditutup dan dibuka kembali agar efeknya dapat dilihat.
mwolfe02
Metode ini juga tidak berfungsi untuk bahasa yang ditentukan pengguna. Bagi mereka, lihat jawabannya di bawah, tetapi alih-alih langs.xml, edit userDefineLang.xml
Chase Sandmann
2
Metode ini tampaknya berfungsi hanya ketika membuka Notepad ++ sebagai administrator. Lihat masalah ini: github.com/notepad-plus-plus/notepad-plus-plus/issues/67 Juga sepertinya mempertahankan perubahan dalam file program (itu sebabnya masalah izin) di C: \ Program Files (x86) \ Notepad ++ \ themes \ SelectedTheme.xml yang berarti pengaturan ini tidak digunakan saat Anda berganti tema.
Daniel Bogdan
67

Temukan file langs.xml (biasanya di bawah C: \ Users [username] \ AppData \ Roaming \ Notepad ++), buka dengan Notepad ++, cari baris yang dimulai dengan <Language name="sql" ext="sql"dan tambahkan ekstensi yang Anda inginkan di bidang ext , pisahkan dengan ruang.

Untuk melakukan ini untuk bahasa yang ditentukan pengguna, cari userDefineLang.xml dan edit ext="".

Jika Anda menginstal notepad ++ di "portable" -mode, maka langs.xml dan userDefineLangs.xml akan langsung berada di folder di mana notepad ++ berada.

alex
sumber
6
Pendekatan ini juga berfungsi dengan baik, tetapi pendekatan T. Kaltnekar sedikit lebih ramah pengguna, terima kasih!
Sathyajith Bhat
Itu satu-satunya cara saya tahu caranya :).
alex
2
Bagus, saya lebih suka pendekatan ini, saya punya banyak ekstensi khusus dan lebih mudah untuk menyalin dan melewatinya dengan cara ini.
James
2
Metode ini bekerja untuk saya. Saya tidak mengerti mengapa menambahkan ekstensi dengan GUI tidak berfungsi. "C: \ users (user) \ appdata \ roaming \ notepad ++ \ langs.xml"
jimueller
Saya tidak menginstal Notepadd ++, hanya membuka ritsletingnya, jadi lang.xmlfile tersebut ada di direktori aplikasi ;-)
Betlista
0

Jika seseorang menggunakan file sesi Notepad ++ (saya beri nama *.nppxml), Anda dapat mengeditnya dan mengubah <File lang="...">atributnya, mis

<File ... lang="Normal Text" ... filename="httpd.conf"
<File ... lang="Normal Text" ... filename="some.log"

untuk:

<File ... lang="Powershell" ... filename="httpd.conf"
<File ... lang="log" ... filename="some.log"

untuk mendapatkan default yang bagus (atau yang ditentukan pengguna seperti dalam kasus saya dengan *.logfile), sintaks langsung disorot tanpa membuka kembali setiap file, dll.

Andreas Dietrich
sumber