有哪些文本编辑器/集成开发环境支持通用编程语言?

3
我正在寻找一个编辑器/IDE,它可以为编程提供一些不错的功能(例如:能够点击跳转到函数定义),即使它并非专门为某种语言而建立。我所说的是那些设计用于特定目的并且通常只被少数人使用的语言。换句话说,这些语言在大多数软件中没有本地支持。
我意识到这需要相当多的魔法灰,但我认为这并不超出可能性的范围。基本上,编辑器必须足够聪明,以识别许多声明性语言中常用的语法和语义。很可能需要一些配置来实现这一点。
这样的东西存在吗?如果不存在,您认为创建它会面临哪些挑战?
8个回答

7
如果你只需要跳转到特定函数或类的定义,那么VIM(以及其他许多编辑器,如Emacs、Epsilon和JOE)可以从ctags文件读取跳转位置。你只需要为自己的自定义语言编写一个ctags文件生成器。
对于可编程编辑器(如VIM、Emacs、Epsilon、Eclipse和gedit),你可以为自己的自定义语言编写插件,但是这可能很快变成耗时且难以维护的噩梦,因为编辑器的新版本往往会改变插件接口。
请注意,添加支持语法高亮通常比添加类似于ctags的符号查找支持更容易。更高级的功能,例如重构和上下文相关的符号补全(在现代IDE中使用的Ctrl-Space和Tab),甚至更难实现。

3
GNU Emacs拥有很好的基础设施来支持这种事情。 直到最近,Haskell是一种相对较少使用的语言,主要由研究人员使用。 然而,在几千行Emacs Lisp中,我们实现了以下功能:
  • 语法高亮显示
  • 自动缩进
  • 包支持
  • 将光标放在库函数上时自动突出显示类型和其他信息
  • 在标识符上按Meta-dot键可通过标准emacs标签机制跳转到其定义处
Emacs的好处是(a)有许多可以遵循的模型,以及(b)您可以逐渐构建环境,从您最关心的方面开始。

2
我很惊讶没有人提到Notepad++: http://notepad-plus-plus.org/ 它为许多语言提供语法支持,用户可以添加新语言,并且有一个活跃的社区,添加了许多未包含在内的语言。

1

大多数好的IDE都是语言无关的,并支持多种编程语言。如果您正在谈论DSL,Eclipse有一个解决方案似乎非常棒 - Xtext


1

0

Visual Studio旨在允许此操作,但需要语言添加显式支持。例如,Delphi Prism将安装到Visual Studio中,并提供完整的语言支持。

然而,这远远超出了“配置”的范畴,需要相当多的定制开发来支持。


0

SciTE和Scintilla提供了一个通用的编辑器/平台,适用于不同的编程语言。该库包含多个解析器,可与许多编程语言一起使用,并且您可以重用其中之一来添加格式和语法高亮显示。

它们不提供像点击等高级功能,但您可以在库的基础上构建它。

Visual Studio和Eclipse也支持语言插件。


0

Zeus是一款面向Windows平台的语言中性IDE,为ctags支持的任何语言提供了跳转到定义/声明功能。

要使其正常工作,只需创建一个Zeus 项目/工作区,然后将文件添加到此工作区中即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接