【问题标题】:How to implement content assist / syntax highlighting?如何实现内容辅助/语法高亮?
【发布时间】:2012-04-14 16:27:02
【问题描述】:

我想为一种语言创建一个 IDE,我想知道如何实现一些功能。尤其是语法高亮和内容辅助令人不安,因为即使编辑器内容无效(当用户键入语法高亮不应该仅仅因为解析器失败而消失),它们也必须工作。

我想知道如何解决这个问题(以及其他问题)。我找到了这个:How does code completion work?,其中描述了这个问题的解决方案,但它相当简短。

我可以想出一种方法来在某个时候实现我想要的所有功能,但我不是第一个,而且有人已经做到了;)(并且阅读 Eclipse 的源代码并不那么容易)

那么,我真正的问题是有没有一本书讨论与创建 IDE 相关的问题?详细的文章讨论如何解析无效代码?我应该查看任何信息来源吗?

啊,我所说的 IDE 并不是指一个新的应用程序,只是一组用于 eclipse 的插件。

【问题讨论】:

  • 语法高亮可以用正则表达式和解析来伪造(emacs一直都这样做)。然而,适当的“智能感知”式支持需要适当的解析/增量编译阶段,其中至少要确定表达式的类型。至少可以说,这不是一项简单的任务。
  • 我知道我需要解析代码。无论如何,我都需要它来显示调用层次结构/类型层次结构/在类型之间导航/支持重构。但我很想阅读在该领域有经验的人的见解(最好是广泛的东西,例如一本书)。

标签: ide syntax-highlighting content-assist


【解决方案1】:

以下链接将进一步帮助您..

语法高亮:Fast Colored TextBox for Syntax Highlighting

一个开源 IDE:SharpDevelop

一本如何创建 IDE 的电子书:[剖析 C# 应用程序:SharpDevelop 内部]

【讨论】:

  • 太棒了!谢谢!这本书看起来很有前途。
猜你喜欢
  • 1970-01-01
  • 2011-02-09
  • 1970-01-01
  • 1970-01-01
  • 2016-10-06
  • 2010-12-09
  • 2011-08-24
  • 1970-01-01
  • 2013-07-05
相关资源
最近更新 更多