【问题标题】:Defining new tooltips in Emacs在 Emacs 中定义新的工具提示
【发布时间】:2011-09-04 09:05:23
【问题描述】:

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

谢谢, 尼尔

【问题讨论】:

    标签: emacs


    【解决方案1】:

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

    这是一个简单的例子:

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

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

    【讨论】:

    • 您能解释一下使用文本属性而不是叠加层的优点/缺点吗?
    【解决方案2】:

    an AutoOverlay package 可以根据缓冲区文本的正则表达式匹配自动添加叠加层以及与这些叠加层关联的工具提示。

    【讨论】:

      猜你喜欢
      • 2019-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-19
      • 2017-08-19
      • 2013-06-23
      相关资源
      最近更新 更多