Jak już wskazał @Jesse, tutaj potrzebujesz company-files
backendu. Istnieje kilka różnych sposobów korzystania z niego:
Powiąż klucz, aby zadzwonić company-files
bezpośrednio.
Użyj polecenia company-begin-backend
. To monituje o użycie backendu, a następnie oferuje kandydatów do ukończenia.
Służy company-other-backend
do obracania listy backendów (patrz następny element). Może to być użyte do uruchomienia zakończenia lub może być użyte po uruchomieniu trybu firmowego w celu przełączenia na inny zestaw kandydatów do ukończenia. Możesz przypisać powiązanie klucza na mapie firmy, np(define-key company-active-map (kbd "C-e") #'company-other-backend)
Skonfiguruj zmienną company-backends
. Tryb firmowy przegląda tę listę, aby znaleźć zaplecze, które akceptuje bieżący prefiks (tj. Tekst przed punktem). Całkowicie możliwe jest posiadanie backendu na liście, który akceptuje bieżący prefiks, ale nie oferuje żadnych kandydatów do ukończenia, w którym to momencie tryb firmowy niczego nie uzupełnia automatycznie. Możesz dostosować listę, aby porządkować backendy w sposób, który odpowiada Twoim potrzebom.
Kilka przykładów modyfikacji company-backends
:
Jeśli kiedykolwiek chciałeś tylko uzupełnić nazwy plików, możesz zrobić z tego swój jedyny backend:
(setq company-backends '(company-files))
Wydaje się to mało prawdopodobne, więc lepiej jest najpierw umieścić najczęściej używany backend, a następnie użyć jednej z wymienionych wcześniej opcji, aby przełączyć backend lub wywołać jedną z nazwy, gdy potrzebujesz czegoś innego.
Możesz także skonfigurować backend „grupowy”, który tworzy scalony zestaw kandydatów do ukończenia. Spróbuj tego, na przykład:
(setq company-backends '((company-capf company-dabbrev-code company-files)))
Określa pojedynczy backend, który scala kandydatów z trzech innych backendów. Daje to wyniki z punktu końcowego, dabbrev i systemu plików.
Za pomocą haków trybu można określić inny zestaw zaplecza dla różnych głównych trybów. Na przykład:
(add-hook 'org-mode-hook
(lambda ()
(setq-local company-backends '((company-files company-dabbrev)))))
(add-hook 'emacs-lisp-mode-hook
(lambda ()
(setq-local company-backends '((company-capf company-dabbrev-code)))))