@ Jesse'in daha önce işaret ettiği gibi, burada istediğiniz şey company-files
arka uç. Kullanmanın birkaç farklı yolu vardır:
company-files
Doğrudan aramak için bir anahtarı bağlayın .
Komutu kullan company-begin-backend
. Bu, arka ucun kullanılmasını ister, ardından tamamlama adayları sunar.
company-other-backend
Arka uçlar listesinde dolaşmak için kullanın (bir sonraki öğeye bakın). Bu, tamamlamayı tetiklemek için kullanılabilir veya şirket modu farklı bir tamamlama aday kümesine geçmek için tetiklendikten sonra kullanılabilir. Şirket haritasında anahtar bağlama atamak isteyebilirsiniz, ör.(define-key company-active-map (kbd "C-e") #'company-other-backend)
Değişkeni yapılandırın company-backends
. Şirket modu, geçerli öneki (yani noktadan önceki metin) kabul eden bir arka uç bulmak için bu listeyi dolaşır. Listede, geçerli öneki kabul eden ancak tamamlama adayları sunmayan bir arka uca sahip olmak tamamen mümkündür, bu noktada şirket modu hiçbir şeyi otomatik olarak tamamlamaz. Arka uçları ihtiyaçlarınızı karşılayacak şekilde sipariş etmek için listeyi özelleştirebilirsiniz.
Birkaç değişiklik örneği company-backends
:
Yalnızca dosya adlarını tamamlamak istediyseniz, bunu tek arka ucunuz yapabilirsiniz:
(setq company-backends '(company-files))
Bu olası görünmüyor, bu yüzden en yaygın olarak kullanılan arka ucunuzu koymaktan ve daha sonra arka uçları değiştirmek veya başka bir şeye ihtiyacınız olduğunda birini adıyla çağırmak için daha önce belirtilen seçeneklerden birini kullanmanız daha iyi.
Birleştirilmiş tamamlama adayları grubu oluşturan bir 'grup' arka ucu da yapılandırabilirsiniz. Bunu deneyin, örneğin:
(setq company-backends '((company-capf company-dabbrev-code company-files)))
Bu, adayları diğer üç arka uçtan birleştiren tek bir arka uç belirtir. Noktadan noktaya tamamlama, dabbrev ve dosya sisteminden sonuçlar verecektir.
Farklı büyük modlar için farklı bir arka uç kümesi belirtmek için mod kancalarını kullanabilirsiniz. Örneğin:
(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)))))