在Emacs中定义新工具提示

在Emacs中定义新工具提示,emacs,Emacs,我想向emacs添加自定义工具提示。 更具体地说,每当我将鼠标悬停在符号(函数/变量)名称上时 用我的鼠标,我想看到一个带有符号定义的工具提示。 我知道我可以用像cscope这样的工具找到这类信息,但我不知道如何找到 将cscope的输出附加到工具提示。 是否有人拥有部分(通常如何将回调链接到emacs中的工具提示)或 一个完整的(如何将cscope的输出链接到工具提示)解决方案 谢谢, Nir您的Emacs安装应该包括(如果没有,请立即下载-您在开发模式时需要它)。要访问它,请转到Info(C

我想向emacs添加自定义工具提示。 更具体地说,每当我将鼠标悬停在符号(函数/变量)名称上时 用我的鼠标,我想看到一个带有符号定义的工具提示。 我知道我可以用像cscope这样的工具找到这类信息,但我不知道如何找到 将cscope的输出附加到工具提示。 是否有人拥有部分(通常如何将回调链接到emacs中的工具提示)或 一个完整的(如何将cscope的输出链接到工具提示)解决方案

谢谢,
Nir

您的Emacs安装应该包括(如果没有,请立即下载-您在开发模式时需要它)。要访问它,请转到Info(C-hi)并查找标记为“Elisp”的节点,有时在单独的“Emacs”菜单中。键入
i
作为索引,键入
tooltip
作为工具提示信息。您应该找到node,它告诉您,
help echo
属性的内容是作为工具提示内容的字符串,或者是可以动态构造工具提示的函数。浏览该节点周围的手册,了解有关文本属性以及如何设置它们的更多信息

下面是一个简单的例子:

(insert (propertize "foo\n" 'help-echo "Tooltip!"))

*scratch*
缓冲区中键入此项,然后按
C-j
运行代码。然后将鼠标指向单词“foo”,您应该会看到工具提示。

有一个工具可以根据缓冲区文本的正则表达式匹配自动添加覆盖,以及与这些覆盖关联的工具提示

您能解释一下使用文本属性而不是覆盖的优点/缺点吗?