J'ai activé la société en utilisant les commandes suivantes dans mon init.el:
(require 'company)
(add-hook 'after-init-hook 'global-company-mode)
Cependant, je n'obtiens pas l'achèvement du nom de fichier, bien qu'il y ait un fournisseur dans la source et que le site Web mentionne qu'il est pris en charge.
Je commence à taper / home / emmanuel ... et rien ne se passe, même si je m'attends à ce que l'achèvement commence à proposer des options?
De plus, comment la détection automatique en mode entreprise est-elle effectuée pour les chemins relatifs, je pense que je lis que c'est pris en charge, mais je ne sais pas comment cela le détecterait, sans le "/" initial comme astuce?
completion
company-mode
Emmanuel Touzery
la source
la source
Réponses:
Vous devez exécuter
company-files
pour terminer le fichier. Vous pouvez lier une carte différente pour l'achèvement des fichiers avecAssurez-vous également que les fichiers de la société se trouvent dans les backends de la société (
M-x
> personnaliser-groupe> société> backends de la société)la source
company-backends
. Par exemple, vous pouvez placer lecompany-files
premier dans cette liste ou l'inclure dans un backend de groupe.company-files
ou de configurer quelque chose. Pour moi, au moins, il ne se déclenche pas automatiquement, même s'il est encompany-backends
company-files
au début de lacompany-backends
liste, elle devrait se compléter automatiquement. Bien sûr, ce n'est peut-être pas ce que vous voulez réellement, soulignant simplement que le backend des fichiers n'est qu'un autre backend ...Comme @Jesse l'a déjà souligné, ce que vous voulez ici, c'est le
company-files
backend. Il existe plusieurs façons de l'utiliser:Liez une touche pour appeler
company-files
directement.Utilisez la commande
company-begin-backend
. Cela vous invite à utiliser le backend, puis propose des candidats à l'achèvement.Utilisez
company-other-backend
pour faire défiler la liste des backends (voir l'élément suivant). Cela peut être utilisé pour déclencher l'achèvement ou il peut être utilisé après le déclenchement du mode entreprise pour basculer vers un autre ensemble de candidats à l'achèvement. Vous souhaiterez peut-être affecter une liaison de touches dans la carte d'entreprise, par exemple(define-key company-active-map (kbd "C-e") #'company-other-backend)
Configurez la variable
company-backends
. Le mode entreprise parcourt cette liste afin de trouver un backend qui accepte le préfixe actuel (c'est-à-dire le texte avant le point). Il est tout à fait possible d'avoir un backend dans la liste qui accepte le préfixe actuel mais n'offre aucun candidat d'achèvement, auquel cas le mode entreprise ne complétera rien automatiquement. Vous pouvez personnaliser la liste pour commander les backends d'une manière qui répond à vos besoins.Quelques exemples de modifications
company-backends
:Si vous ne souhaitiez que compléter des noms de fichiers, vous pouvez en faire votre seul backend:
Cela semble peu probable, il est donc préférable de mettre d'abord votre backend le plus couramment utilisé, puis d'utiliser l'une des options mentionnées précédemment pour changer de backend ou en invoquer une par nom lorsque vous avez besoin d'autre chose.
Vous pouvez également configurer un backend «groupe» qui crée un ensemble fusionné de candidats à l'achèvement. Essayez ceci, par exemple:
Cela spécifie un seul backend qui fusionne les candidats de trois autres backends. Il vous donnera les résultats de l'achèvement au point, de dabbrev et du système de fichiers.
Vous pouvez utiliser des hooks de mode pour spécifier un ensemble différent de backends pour différents modes principaux. Par exemple:
la source