Membuat Notepad ++ mengingat bahasa tertentu untuk file tertentu?

10

Saya memiliki sejumlah file yang ingin saya warnai dengan cara yang berbeda walaupun mereka memiliki ekstensi yang sama. Sebagai contoh, saya memiliki beberapa file * .config yang sebenarnya adalah file Python dan beberapa yang merupakan file XML. Ketika saya membukanya saya harus mengubah bahasa secara manual ke Python atau XML.

Akan lebih baik jika, misalnya, Notepad ++ akan mengingat bahwa c: \ foo \ bar \ whatevs.config harus menggunakan styling Python, tetapi c: \ hey \ ho \ boo.config harus menggunakan styling XML.

Adakah cara di Notepad ++ untuk mengatakan "ingat bahasa yang digunakan terakhir kali file dibuka"? Plugin mungkin?

mhenry1384
sumber
Apakah Anda mengalami masalah di suatu tempat dengan menggunakan ekstensi file yang benar?
iglvzx
1
Saya memiliki aplikasi Python yang menggunakan file .config yang benar-benar file Python, dan .NET menggunakan file .config yang benar-benar file XML. Sebagai contoh lain, saya memiliki file penurunan harga yang menggunakan ekstensi .txt karena mereka disinkronkan dengan aplikasi Android yang tidak mengerti apa itu file .md.
mhenry1384
Saya melihat. Apakah ia mengingat bahasa yang Anda atur ketika Anda menutup Notepad ++ dengan file yang terbuka, dan kemudian membuka kembali Notepad ++?
iglvzx
2
Sebenarnya tidak, jika Anda telah "Ingat sesi saat ini untuk peluncuran berikutnya" diperiksa (yang saya tidak). Tetapi lupa ketika Anda menutup file dan membukanya kembali.
mhenry1384

Jawaban:

12

Ada opsi GUI untuk mengatur tautan statis antara ekstensi file dan bahasa (alih-alih mengedit %APPDATA% langs.xmlfile atau %PROGRAMFILES% langs.model.xmlfile secara manual seperti yang disarankan @ jakub.g):

Jika Anda pergi ke Pengaturan -> Style Configurator -> pilih bahasa di sebelah kiri, maka di bagian bawah layar dua kotak teks muncul:

Konfigurasi Gaya

Dalam contoh ini, saya menambahkan "konfigurasi" ke User ext.kotak teks sehingga setiap kali saya membuka file dengan ekstensi file .config sorotan sintaks XML akan secara otomatis dipilih di bawah menu Bahasa.

Saya tahu ini tidak menyelesaikan masalah mengingat penyorotan sintaksis yang berlaku untuk satu file tertentu, tetapi ini adalah cara mudah untuk mengatur penyorotan untuk semua ekstensi file.

Jika Anda ingin mengingat pilihan penyorotan sintaks untuk satu file, saya yakin satu-satunya pilihan adalah memilih kotak centang: Pengaturan -> Preferensi -> MISC -> Ingat sesi saat ini untuk peluncuran berikutnya.

penipu
sumber
itu tidak menyimpannya. setelah Anda menutup dan membuka kembali notepad ++, perubahannya hilang.
r3wt
@ r3wt Saya yakin Anda harus melakukannya run as administratorjika tidak maka tidak akan memiliki izin untuk menyimpan preferensi ke profil pengguna Anda.
Minggu
Ini tidak akan berfungsi untuk ekstensi file bawaan. Anda harus menghapus ekstensi dari bagian bahasa secara manual di file langs.xml. File itu dapat hidup di% APPDATA% / Notepad ++ atau direktori install Notepad ++ atau di Penyimpanan cloud Anda yaitu DropBox, OneDrive atau GoogleDrive jika Anda mengaktifkan Pengaturan di opsi Cloud.
Ian Stanway
Apakah ini berfungsi untuk bahasa khusus? Saya tidak dapat menemukan milik saya di mana pun dalam daftar.
Fabian Röling
1

Ini bukan yang Anda minta, tetapi berlaku untuk komentar Anda tentang file .txt sebagai file Penurunan harga. Salah satu opsi yang memungkinkan adalah menetapkan Markdown sebagai bahasa untuk semua file .txt.

Ini mengasumsikan markdown_npp diinstal. Edit file berikut dengan risiko Anda sendiri (buat salinan cadangan sebelum mengedit file ini):

  • Buka langs.xml dari% appdata% \ Notepad ++
    • Hapus ekstensi txt dari bahasa normal:
      • Sebelum: <Language name="normal" ext="txt" />
      • Setelah: <Language name="normal" ext="" />
  • Buka userDefineLang.xml dari% appdata% \ Notepad ++
    • Tambahkan ekstensi txt ke bahasa Penurunan harga:
      • Sebelum: <UserLang name="Markdown" ext="md">
      • Setelah: <UserLang name="Markdown" ext="md txt">
  • Mulai ulang Notepad ++
Mike Henry
sumber
bekerja untuk saya, dan itu satu-satunya cara saya bisa mendapatkan notepad ++ untuk menyimpan hubungan secara permanen. terima kasih
r3wt
0

Untuk menambahkan koneksi tetap antara ekstensi dan bahasa, buka folder NPP (misalnya C:\Program hFiles\Notepad++), ada beberapa file XML di sana. Edit mereka (saya tidak ingat persis mana, langs.xmlatau langs.model.xml).

Contoh: <Language name="cpp" ext="h hpp hxx cpp cxx cc">

Temukan bahasa yang Anda inginkan dan tambahkan ekstensi.

Namun saya tidak tahu bagaimana cara membuat ekstensi yang sama bervariasi per-folder.

jakub.g
sumber