Wie kann ich den Kompilierungsbefehl anpassen?


8

In einem meiner Projekte muss ich make package installbeim Bauen statt ausführen make. Es merkt sich den letzten Kompilierungsbefehl, den ich verwendet habe, wird jedoch bei make -kjedem Start von emacs zurückgesetzt. Wie kann ich die M-x compileStandardeinstellung anpassen make package install?


Was ist der Wert von compilation-read-command? Wenn diese Variable auf einen Nichtwert gesetzt nilist, M-x compilesollten Sie aufgefordert werden, den Kompilierungsbefehl zu verwenden. Alternativ können Sie tun C-u M-x compile; In diesem Fall werden Sie unabhängig vom Wert von zur Eingabe des Befehls aufgefordert compilation-read-command.
— Itsjeyd

1
Es ist auf t eingestellt. Es erlaubt mir zwar, den Befehl vor dem Ausführen zu bearbeiten, aber ich möchte die Standardeinstellungen ändern
— Connor

Aha. Gepostet den Kommentar oben, bevor Sie die Bearbeitung überprüfen, die Sie an Ihrer Frage vorgenommen haben;)
— itsjeyd

Eine gute Frage. Aus dem Handbuch hatte ich den Eindruck, dass man im Abschnitt "Lokale Variablen:" am Ende einer Datei "compile: ..." oder "compile-command: ..." hinzufügen kann, mein neuer Emacs jedoch nicht.
— Ich scheine

Antworten:


7

Sie können die Variable anpassen compile-command, um den standardmäßig verwendeten Kompilierungsbefehl zu ändern:

(setq compile-command "make package install")

Beachten Sie, dass beim ersten Ausführen eines Kompilierungsbefehls, der dies nicht ist make package install , dieser neue Befehl zu Ihrem neuen Standardbefehl wird.
— Nispio

2

Wenn Sie die Variable pro Projekt und nicht global anpassen möchten. Sie können Verzeichnisvariablen verwenden . Mit diesen können Sie bestimmte Anpassungen nur für Dateien in einem bestimmten Verzeichnis und seinen Unterverzeichnissen anwenden.

Wenn Sie beispielsweise den make package installBefehl as compile nur in Projekt A verwenden möchten , müssen Sie eine Datei mit dem Namen .dir-locals.elim Stammverzeichnis des Projekts erstellen und Folgendes hinzufügen

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

Die Syntax wird im obigen Link zum Emacs-Handbuch ausführlich erläutert. Wie von @hatschipuh hervorgehoben, können Sie die Befehle verwenden add-dir-local-variableund delete-dir-local-variableauf einfache Weise direkte lokale Werte hinzufügen und löschen.


Der Einfachheit halber gibt es die Befehle add-dir-local-variableund delete-dir-local-variable.
— Clemera

@hatschipuh, guter Vorschlag aktualisiert die Antwort, um diese Befehle zu erwähnen
— Iqbal Ansari
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.