Я включил компанию, используя следующие команды в моем init.el:
(require 'company)
(add-hook 'after-init-hook 'global-company-mode)
Однако я не получаю завершение имени файла, хотя в источнике есть какой-то провайдер, а также на сайте упоминается, что он поддерживается.
Я начинаю набирать / home / emmanuel ... и ничего не происходит, хотя я ожидаю, что завершение начнет предлагать варианты?
Кроме того, как происходит автоматическое определение завершения в режиме компании для относительных путей, я думаю, что я прочитал, что оно поддерживается, но я не уверен, как оно его обнаружит, без начального символа "/" в качестве подсказки?
completion
company-mode
Эммануэль Тузери
источник
источник
Ответы:
Вы должны запустить
company-files
для завершения файла. Вы можете привязать другую карту для завершения файлов с помощьюТакже убедитесь, что у вас есть файлы компании в бэкэндах компании (
M-x
> группа настройки> компания> бэкэнды компании)источник
company-backends
. Например, вы можете поставитьcompany-files
первым в этом списке или включить его в бэкэнд группы.company-files
или что-то настроить. Для меня, по крайней мере, он не запускается автоматически, даже если он включенcompany-backends
company-files
в началоcompany-backends
списка, он должен автоматически заполниться. Конечно, это может быть не тем, чего вы на самом деле хотите, просто указав, чтоКак уже указывал @Jesse, вам нужен
company-files
бэкэнд. Есть несколько способов использовать его:Привязать ключ, чтобы позвонить
company-files
напрямую.Используйте команду
company-begin-backend
. Это предложит вам использовать бэкэнд, а затем предложит кандидатов на завершение.Используйте
company-other-backend
для поворота по списку бэкэндов (см. Следующий пункт). Это может использоваться для запуска завершения или после запуска режима компании для переключения на другой набор кандидатов на завершение. Вы можете назначить привязку ключа на карте компании, например(define-key company-active-map (kbd "C-e") #'company-other-backend)
Настройте переменную
company-backends
. Режим компании пересекает этот список, чтобы найти серверную часть, которая принимает текущий префикс (т. Е. Текст перед точкой). Вполне возможно иметь в списке бэкэнд, который принимает текущий префикс, но не предлагает никаких кандидатов на завершение, и в этом случае режим компании ничего не завершит автоматически. Вы можете настроить список, чтобы упорядочить бэкэнды в соответствии с вашими потребностями.Несколько примеров модификации
company-backends
:Если вы когда-либо хотели завершить имена файлов, вы можете сделать это своим единственным бэкэндом:
Это кажется маловероятным, поэтому вам лучше сначала поставить свой наиболее часто используемый бэкэнд, а затем использовать один из упомянутых ранее вариантов, чтобы переключать бэкенд или вызывать его по имени, когда вам нужно что-то еще.
Вы также можете настроить «групповой» бэкэнд, который создает объединенный набор кандидатов на завершение. Попробуйте это, например:
Здесь указывается один сервер, который объединяет кандидатов из трех других серверов. Это даст вам результаты из точки завершения, dabbrev и файловой системы.
Вы можете использовать ловушки режима, чтобы указать различный набор бэкэндов для разных основных режимов. Например:
источник