9

我正在寻找一个允许我自定义动态语法高亮规则的工具:

静态语法高亮的示例(大多数 IDE 已经这样做了)。

  1. 将所有出现的单词突出显示int为红色。

  2. 以蓝色突出显示所有字符串(包含在 中")。

DYNAMIC 语法高亮示例

  1. 给定一个出现 > 两次的 txt 字符串,我希望它以紫色突出显示。

  2. 如果我单击一个文本块,我希望同一文件上的所有 txt 块都以绿色突出显示。

我假设有人以前可能已经制作过这样的荧光笔,但我在网上找不到任何东西。关于如何的任何反馈:

  1. 我可以扩展现有项目(理想情况下,我希望这是一个 IDE 插件)来自定义我的动态需求?

  2. 如果情况 1 不存在,任何可能对此类项目最有效的模板语言?即任何动态突出显示文本的框架,同时支持编辑——这些框架很容易扩展。

4

4 回答 4

4

Emacs (www.gnu.org/s/emacs/) 应该能够做到这一点。

Emacs 是高度可定制的;你编写 (e)Lisp 函数来让它做你想做的事。许多 Emacs 的特定语言模式都会“固定”突出显示关键字;您应该能够劫持该机器并根据您的兴趣使突出显示动态化。GNU 提供了用于此类模式的大量 eLisp 代码库。

于 2012-05-27T04:28:21.543 回答
3

Eclipse 所做的事情可能正是您想要的,或者至少非常接近。

在 Preferences > Java > Editor > Mark Occurrences 中启用“标记出现”

一旦您单击局部变量之类的东西,您将在当前源文件中标记该变量的所有出现。

这与“注释”结合起来非常有用。对除“出现”之外的所有注释禁用“包含在下一个/上一个导航中”。最简单的方法是通过 UI 中的向上/向下箭头。您单击工具栏中黄色大向上或向下箭头旁边的黑色小向下箭头。现在您可以使用逗号和句点来浏览您突出显示的所有事件。

于 2012-05-28T16:54:48.927 回答
3

Netbeans 高亮工具也相当完整和可配置。

将所有出现的单词“int”突出显示为红色。

  • 在 Netbeans 中,这个特定关键字没有默认条目,原语在Keyword.

用蓝色突出显示所有字符串(用 "'s 括起来)。

  • 是的,这是可能的;类别 :String

给定一个出现 > 两次的 txt 字符串,我希望它以紫色突出显示。

  • 也许我不明白这一点,因为如果您多次突出显示所有编写的单词,我担心您的所有代码在某行代码后都会变成紫色!

如果我单击一个文本块,我希望同一文件上的所有 txt 块都以绿色突出显示。

  • 当您通过双击选择一个单词时,所有出现的单词都将突出显示,并且在包含该关键字的每一行的右栏中都会出现一个标记。您可以单击该标记以快速转到包含该事件的行。
  • 您还可以使用快捷方式Ctrl+F3查找选择并突出显示所有出现的内容(可以是您想要的所有内容,而不仅仅是关键字)。然后用于Shift+F3查找上一个出现并F3找到下一个

我可以扩展现有项目(理想情况下,我希望这是一个 IDE 插件)来定制我的动态需求?

  • 我从来没有尝试过扩展高亮类别,这似乎是可能的,但需要做很多工作!请参阅此链接和此链接
于 2012-05-28T18:52:10.287 回答
3

我不确定你是否开始使用完整的 IDE,但 Sublime Text 2 有一些非常好的自动突出显示: http: //www.sublimetext.com/2

于 2012-05-29T14:21:47.640 回答