对于 Python 编码,我使用使用 Company 作为完成框架的 Elpy 包。
由于我不喜欢自动弹出窗口,因此我将完成功能设置为仅在我明确要求使用C-n
键绑定的完成建议时才执行。不幸的是,禁用弹出完成窗口的设置在按下类成员访问运算符(如.
, ->
, )后不起作用::
。
查看公司模式设置后,我发现 company-semantic 和 company-clang 有一个用于打开和关闭自动完成窗口的切换。我将它们设置为nil
,但不幸的是行为没有变化。我在配置中使用了“自定义”面板和手动分配。
这是我的配置:
(use-package company
:ensure t
:hook (prog-mode . company-mode)
:config
(setq company-idle-delay nil ;; works as expected, completion is not invoked
company-semantic-begin-after-member-access nil ;; still pops-up, no change :(
company-clang-begin-after-member-access nil ;; no change either :(
company-minimum-prefix-length 3
company-selection-wrap-length 1
company-selection-wrap-around t)
(evil-collection-define-key 'insert 'company-mode-map
(kbd "C-n") 'company-complete)) ;; invokes completion manually