file init spesifik proyek

10

Saya memiliki beberapa penyesuaian untuk emacs yang ingin saya gunakan untuk satu proyek, tetapi tidak mempengaruhi emacs secara global. Apakah ada cara agar emacs memuat file init tertentu ketika diluncurkan dari direktori tertentu atau secara otomatis memuat semua file init di direktori tempat diluncurkannya?

Connor
sumber

Jawaban:

17

Anda mungkin ingin melihat variabel Direktori . Pada dasarnya Anda perlu membuat .dir-locals.elfile di root proyek Anda dengan semua pengaturan spesifik proyek di dalamnya. Sekarang setiap kali Anda membuka file di direktori atau salah satu subdirektori emacs akan menerapkan pengaturan dalam .dir-locals.elfile.

Jadi misalnya, misalkan Anda ingin menggunakan make package installperintah kompilasi hanya di proyek A, Anda harus membuat file bernama .dir-locals.el di direktori root proyek dan menambahkan sesuatu seperti berikut ini

((nil . ((compile-command . "make package install"))))

Mulai saat Anda menjalankan compileperintah dari file apa pun di bawah direktori A, default compile-commandakan menjadi yang ditentukan di atas, namun compile commanduntuk file di luar direktori A akan tetap tak tersentuh.

Iqbal Ansari
sumber
2

Alternatif yang kurang berfitur .dir-locals.eladalah standar EditorConfig , yang memiliki paket emacs . Ini tidak mendukung hampir banyak opsi, namun, memungkinkan tim orang untuk melakukan standarisasi pada beberapa pengaturan dan menggunakannya di editor yang berbeda.

Tingkah lakunya hampir sama, dengan .editorconfigfile khusus proyek di tingkat atas.

Lee H
sumber