【问题标题】:Where can I find a syntax highlighting library for Java? [closed]在哪里可以找到 Java 的语法高亮库? [关闭]
【发布时间】:2010-10-26 06:25:17
【问题描述】:

我正在用 Java 编写一个源代码编辑器(用于 Java 源代码),我想添加简单的语法突出显示(关键字的独特颜色就足够了)。有什么建议吗?

【问题讨论】:

  • 试图以支持 mmyers 回答的方式改进这一点。
  • @Shog9:编辑问题以适合答案?那是犹太洁食吗?
  • 投了反对票,您不应该将 SO 用于在谷歌搜索后很容易回答的问题。也几乎不可能阅读
  • @MarcG:不知道你从哪里得到这个意见,但你错了。这 / 正是 / SO 的用途。
  • 我之前投了反对票,因为这个问题的原始形式完全无法理解。 Marc G 的断言是完全错误的,即 SO 不适合简单的问题。请参阅 Jeff & Joel 的最新播客。

标签: java editor syntax-highlighting


【解决方案1】:

可能是JSyntaxPane 之类的东西?

一个非常易于使用和扩展的 JEditorKit,它支持几种语言。主要目标是让外观漂亮的 Java Swing 编辑器更容易,并支持语法突出显示。

【讨论】:

【解决方案2】:

【讨论】:

  • 这么糟糕?我在一个项目中使用它,我认为它很棒。此外,如果您想编写自己的代码,您可以学习它,因为它是开源的。
  • 试过了,看起来很棒,就像代码折叠这样的功能。不支持python,可惜了。
  • 抱歉支持python。它的网站误导了我,他们的小程序也误导了我。
  • 这应该更频繁地被赞成并被接受为答案 - 它是唯一仍在维护的库。
【解决方案3】:

您首先应该考虑使用通用解析器从源代码创建 AST(抽象语法树)。周围有一些工具,首先我发现谷歌搜索互联网是javaparser。看起来这个解析器还记录了行号和列,所以来自 javaparser 的 AST 可以成为编辑器的一个很好的模型。

只需处理树,为 AST 节点类型定义颜色并打印它。

【讨论】:

    【解决方案4】:

    可能想查看现有的编辑器(例如 Notepad++ - http://notepad-plus.sourceforge.net/uk/site.htm)并查看用户定义的语法突出显示是如何完成的(要检查的插件之一 - Gmod 10 Lua Syntax Highlighter)。我敢打赌,Java(和其他语言)也是类似的......

    【讨论】:

      【解决方案5】:

      您应该查看 Google 的 prettify.js。里面有一些非常巧妙的技巧,你可能会对语法高亮有更强大的感觉。

      【讨论】:

      • @ktulur:你真的看过了吗?它为包括 Java 在内的许多语言进行语法高亮显示。这将是学习如何编写语法高亮算法的好方法。特别是一种可以支持多种语言的语言。
      • 好的,抱歉,我在考虑使用现有组件,而不是编写自己的东西。这就是为什么当我读到“.js”时,我就像“wtf?”
      • 有时教人们学习是件好事,而不仅仅是重复使用。
      • 是的,但一般来说,重用不是更好吗?我认为这样你就可以把时间花在自己原创的东西上。
      • 如果是这样,他到底为什么要写一个Java编辑器?
      【解决方案6】:

      http://www.neathighlighter.com/ 是一个很好的 JavaScript 荧光笔

      【讨论】:

        猜你喜欢
        • 2011-01-17
        • 1970-01-01
        • 1970-01-01
        • 2010-10-14
        • 1970-01-01
        • 2014-04-28
        • 2015-10-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多