Ich habe die Firma mit den folgenden Befehlen in meiner init.el aktiviert:
(require 'company)
(add-hook 'after-init-hook 'global-company-mode)
Ich erhalte jedoch keine Dateinamenvervollständigung, obwohl es einen Anbieter in der Quelle gibt und auch die Website erwähnt, dass er unterstützt wird.
Ich fange an zu tippen / home / emmanuel ... und nichts passiert, obwohl ich erwarten würde, dass der Abschluss Optionen anbietet?
Wie wird die automatische Erkennung im Unternehmensmodus für relative Pfade abgeschlossen? Ich glaube, ich habe gelesen, dass sie unterstützt wird, bin mir aber nicht sicher, wie sie erkannt werden würde, ohne das anfängliche "/" als Tipp.
completion
company-mode
Emmanuel Touzery
quelle
quelle
Antworten:
Sie müssen
company-files
für die Dateivervollständigung ausgeführt werden. Sie können eine andere Zuordnung für die Fertigstellung der Dateien mit bindenStellen Sie außerdem sicher, dass Sie die Unternehmensdateien in Unternehmens-Backends haben (
M-x
> Gruppe anpassen> Firma> Unternehmens-Backends).quelle
company-backends
. Sie könnencompany-files
diese Liste beispielsweise an die erste Stelle setzen oder in ein Gruppen-Backend aufnehmen.company-files
oder etwas zu konfigurieren. Zumindest für mich wird es nicht automatisch ausgelöst, selbst wenn es in istcompany-backends
company-files
am Anfang dercompany-backends
Liste einfügen , sollte diese automatisch vervollständigt werden. Natürlich kann dies nicht das sein, was Sie tatsächlich wollen, nur darauf hinweisen, dass das Datei-Backend nur ein weiteres Backend ist ...Wie @Jesse bereits betont hat, möchten Sie hier das
company-files
Backend. Es gibt verschiedene Möglichkeiten, es zu verwenden:Binden Sie einen Schlüssel, um
company-files
direkt anzurufen .Befehl verwenden
company-begin-backend
. Dies fordert Sie zur Verwendung des Backends auf und bietet dann Abschlusskandidaten an.Verwenden Sie
company-other-backend
diese Option, um durch die Liste der Backends zu blättern (siehe nächster Punkt). Dies kann verwendet werden, um den Abschluss auszulösen, oder es kann verwendet werden, nachdem der Unternehmensmodus ausgelöst wurde, um zu einem anderen Satz von Abschlusskandidaten zu wechseln. Möglicherweise möchten Sie eine Schlüsselbindung in der Firmenkarte zuweisen, z(define-key company-active-map (kbd "C-e") #'company-other-backend)
Konfigurieren Sie die Variable
company-backends
. Der Firmenmodus durchläuft diese Liste, um ein Backend zu finden, das das aktuelle Präfix akzeptiert (dh den Text vor dem Punkt). Es ist durchaus möglich, ein Backend in der Liste zu haben, das das aktuelle Präfix akzeptiert, aber keine Abschlusskandidaten anbietet. Zu diesem Zeitpunkt wird im Unternehmensmodus nichts automatisch vervollständigt. Sie können die Liste anpassen, um die Backends so zu ordnen, dass sie Ihren Anforderungen entsprechen.Einige Beispiele für Änderungen
company-backends
:Wenn Sie nur Dateinamen vervollständigen wollten, können Sie dies zu Ihrem einzigen Backend machen:
Das scheint unwahrscheinlich, daher ist es besser, wenn Sie zuerst Ihr am häufigsten verwendetes Backend verwenden und dann eine der zuvor genannten Optionen verwenden, um das Backend zu wechseln oder eines mit Namen aufzurufen, wenn Sie etwas anderes benötigen.
Sie können auch ein 'Gruppen'-Backend konfigurieren, das einen zusammengeführten Satz von Abschlusskandidaten erstellt. Versuchen Sie dies zum Beispiel:
Dies gibt ein einzelnes Backend an, das die Kandidaten aus drei anderen Backends zusammenführt. Sie erhalten Ergebnisse von der Fertigstellung am Punkt, dabbrev und dem Dateisystem.
Sie können Modus-Hooks verwenden, um einen anderen Satz von Backends für verschiedene Hauptmodi anzugeben. Zum Beispiel:
quelle