在Emacs中定义新的工具提示

Nir*_*Nir 14 emacs

我想为emacs添加自定义工具提示.更具体地说,每当我用鼠标悬停在符号(函数/变量)名称上时,我希望看到带有符号定义的工具提示.我知道我可以使用像cscope这样的工具找到这种信息,但我不知道如何将cscope的输出附加到工具提示.有没有人有部分(如何将回调链接到一般的emacs中的工具提示)或完整(我如何实际将cscope的输出链接到工具提示)解决方案呢?

谢谢,Nir

Jou*_*nen 13

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

这是一个简单的例子:

(insert (propertize "foo\n" 'help-echo "Tooltip!"))
Run Code Online (Sandbox Code Playgroud)

*scratch*缓冲区中输入此内容,然后按C-j运行代码.然后将鼠标指向单词"foo",您应该看到工具提示.

  • 你能解释一下使用文本属性而不是叠加的优缺点吗? (3认同)