我几天前刚开始使用emacs而且我在设置公司模式时遇到了麻烦。我使用package-install安装了company-mode,并在我的.emacs文件中添加了以下内容: -
(require 'company)
(add-hook 'after-init-hook 'global-company-mode)
然而,当我转到haskell模式时,当我在关键字上等待几秒钟时,公司模式完成并不会弹出(同样使用racket-mode)。我可以安装一些可能搞乱或与公司模式冲突的东西吗? 此外,当我尝试手动调用公司完成时,它只是说"没有找到完成"。
编辑:尝试自动完成作为替代方案,当我按Tab键时代码完成不起作用,但是当我在单词上调用自动完成时,它可以正常工作。
Edit2:自动完成工作。 https://i.imgur.com/Vn4f2GX.png 看起来像flyspell模式与自动完成冲突。但是,没有运气让公司模式发挥作用。 非常感谢任何帮助。
答案 0 :(得分:1)
我完成了为haskell中的company-mode
工作而没有太多麻烦。
我所要做的只是将公司后端添加到我的.emacs: -
(add-to-list 'company-backends 'company-dabbrev-code)
(add-to-list 'company-backends 'company-yasnippet)
(add-to-list 'company-backends 'company-files)
获取包intero
的软件包,它为haskell添加company-mode
支持。像这样: -
(add-hook 'haskell-mode-hook 'company-mode)
(add-hook 'haskell-mode-hook 'intero-mode))
至于racket-mode
,我在我的.emacs中添加: -
(defun my-racket-mode-hook ()
(set (make-local-variable 'company-backends)
'((company-capf company-dabbrev-code)))
(company-quickhelp-mode 0))
(add-hook 'racket-mode-hook 'my-racket-mode-hook)
(add-hook 'racket-mode-hook 'company-mode)
(add-hook 'racket-repl-mode-hook 'my-racket-mode-hook)
(add-hook 'racket-repl-mode-hook 'company-mode)