¿Cómo puedo personalizar el comando de compilación?


8

En uno de mis proyectos necesito correr make package installcuando construyo en lugar de hacerlo make. Recuerda el último comando de compilación que utilicé, pero se restablece make -kcada vez que se inicia emacs. ¿Cómo puedo personalizar el M-x compilevalor predeterminado make package install?


¿Cuál es el valor de compilation-read-command? Si esta variable se establece en un nilvalor distinto , M-x compiledebe solicitarle que utilice el comando de compilación. Alternativamente, puedes hacer C-u M-x compile; en este caso, se le solicitará el comando independientemente del valor de compilation-read-command.
— itsjeyd

1
Se establece en t. Sí me permite editar el comando antes de ejecutarlo, pero me gustaría cambiar el valor predeterminado
— Connor

Veo. Publique el comentario anterior antes de verificar la edición que hizo a su pregunta;)
— itsjeyd

Una buena pregunta Desde el manual, tuve la impresión de que se puede agregar "compilar: ..." o "compilar-comando: ..." en la sección "Variables locales:" al final de un archivo, pero mi nuevo Emacs no t parece prestarles atención ... :(
— imz - Ivan Zakharyaschev

Respuestas:


7

Puede personalizar la variable compile-commandpara cambiar el comando de compilación que se usa por defecto:

(setq compile-command "make package install")

Tenga en cuenta que la primera vez que ejecuta un comando de compilación que no lo es make package install , ese nuevo comando se convertirá en su nuevo valor predeterminado.
— nispio

2

Si desea personalizar la variable por proyecto en lugar de globalmente. Puede usar las variables de directorio . Estos le permiten aplicar ciertas personalizaciones solo para archivos en cierto directorio y sus subdirectorios.

Entonces, por ejemplo, si desea utilizar el make package installcomando como compilación solo en el proyecto A, deberá crear un archivo denominado .dir-locals.elen el directorio raíz del proyecto y agregar algo como lo siguiente

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

La sintaxis se explica en detalle en el enlace al manual de emacs anterior. Como señaló @hatschipuh, puede usar los comandos add-dir-local-variabley delete-dir-local-variableagregar y eliminar fácilmente valores locales de directorio.


Por conveniencia existen los comandos add-dir-local-variabley delete-dir-local-variable.
— clemera

@hatschipuh, una buena sugerencia actualizó la respuesta para mencionar estos comandos
— Iqbal Ansari
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.