在 emacs 自动完成中启用"."和"->"
Enable "." and "->" in emacs autocomplete
有没有办法在键入"."或"->"后自动完成弹出?
我认为这个代码是
(add-to-list 'ac-omni-completion-sources
(cons "\." '(ac-source-semantic)))
(add-to-list 'ac-omni-completion-sources
(cons "->" '(ac-source-semantic)))
但似乎这可能已被弃用。
我看到的最接近的是亚历克斯·奥特(Alex Ott)在这里的回应:
(defun my-c-mode-cedet-hook ()
(local-set-key "." 'semantic-complete-self-insert)
(local-set-key ">" 'semantic-complete-self-insert))
(add-hook 'c-mode-common-hook 'my-c-mode-cedet-hook)
但是,这总是会弹出另一个框架来显示来自语义的建议。如果可能的话,我希望所有内容都使用自动完成的本机弹出窗口,当我尝试使用"myClass->"引用类的成员函数时,自动完成会弹出建议。知道这是否可以实现吗?
对不起,我的评论有很大的疏忽。 我有点不知所措。 在带有自动完成 1.3.1 的 Emacs 24.3.1 中,我实际上看到了启用自动完成和语义模式所需的行为。 也就是说,我在键入以下之一时会出现一个自动弹出窗口:
someObj.
someObj->
我添加了这个作为答案,以便我可以列出一些代码。 如果有帮助,我的自动完成设置如下所示:
(add-to-list 'load-path "<ac-install-dir>")
(require 'auto-complete-config)`
(add-to-list 'ac-dictionary-directories "<ac-install-dir>/ac-dict")
(ac-config-default)
(defun ac-common-setup ()
(setq ac-sources (append ac-sources '(ac-source-gtags ac-source-semantic ac-source-semantic-raw))))
似乎变量ac-prefix-definitions
控制模式,这些模式是触发完成的前缀。 我看到的值是:
((symbol . ac-prefix-symbol)
(file . ac-prefix-file)
(valid-file . ac-prefix-valid-file)
(c-dot . ac-prefix-c-dot)
(c-dot-ref . ac-prefix-c-dot-ref))
ac-prefix-c-dot
和ac-prefix-c-dot-ref
似乎是与完成完成.
和->
相匹配的模式。
相关文章:
- 编译时未启用intel oneApi CUDA支持
- OpenGL在启用深度测试时不会丢弃我的碎片
- Visual C++GC接口如何启用它以及要包含哪个库
- EASTL矢量<向量<int>>连续的
- 如何在自定义类中启用'auto loops'?
- 根据某个函数是否存在启用模板
- 视觉工作室 2017;启用 /permissive 时,类型 "const wchar_t *" 的参数与类型 "PWSTR" 的参数不兼容
- 启用从"vector<const T>&"到"const vector&"的隐式转换<T>
- C++ win32 如何使密码字段可选并启用复制和粘贴?
- 在 Eclipse 上启用 C++17 以使用 'std::byte'
- 当 noexcept 函数尝试在 gcc 或 clang 中调用非 noexcept 函数时启用警告
- 如何为一段代码启用 -permissive
- 是否可以/希望创建不可复制的共享指针模拟(以启用weak_ptr跟踪/借用类型语义)?
- 在 GCC 中启用"differing levels of indirection"警告/错误
- 使用 Doxygen 记录枚举类值,而不启用EXTRACT_ALL
- '_HAS_CXX17'宏是否可用于自定义项目标头以启用C++17 语言集功能?
- 如何启用转换模板参数 T 以常量 T?
- 在使用 gSoap 链接多个 SOAP 服务时启用保持活动状态
- 如何启用标准::实验::atomic_shared_pointer
- 如何启用友元类的友元功能直接在C++中访问其私有成员