我正在寻找一个编辑器/IDE,它可以在为非特定构建的语言编码时提供一些很好的功能(例如:能够点击进入函数定义)。通过这些,我在脑海中想到了为非常特定的目的而设计的语言,并且通常只被一个小社区使用。换句话说,在大多数软件中不会有本机支持的版本。
我意识到这将需要相当多的仙尘,但我不认为这超出了可能的范围。基本上,编辑器必须足够聪明,能够识别许多声明性语言共有的常用语法和语义。这很可能需要一些配置。
真的存在这样的东西吗?如果没有,你认为创建它会有什么挑战?
发布于 2010-06-27 03:20:07
如果您只需要跳转到特定函数或类的定义的功能,那么VIM (以及许多其他编辑器,如Emacs、Epsilon和JOE)可以从ctags文件中读取跳转位置。您只需为您的自定义语言编写一个ctags文件生成器。
对于可编程编辑器(如VIM、Emacs、Epsilon、Eclipse和gedit),您可以为您的自定义语言编写自己的插件,但这可能很快就会变得费时费力,而且维护起来也很麻烦,因为新版本的编辑器往往会更改插件界面。
请注意,添加对语法突出显示的支持通常比添加类似ctag的对符号查找的支持容易得多。更高级的功能,如重构和上下文敏感的符号完成(如现代IDE中的Ctrl-Space和Tab )更难实现。
发布于 2010-06-27 03:23:32
GNU Emacs有一个非常好的基础设施来处理这类事情。直到最近,Haskell还是一种相对不为人所知的语言,主要由研究人员使用。然而,在几千行Emacs Lisp中,我们有
将光标放在标识符上以跳转到其定义时,使用colors
Emacs的好处是(a)有许多模型可供遵循,(b)您可以逐步构建环境,从对您最重要的方面开始。
发布于 2010-06-27 03:49:15
我很惊讶还没有人提到Notepad++:http://notepad-plus-plus.org/
它提供了对许多语言的语法支持,并允许用户添加新的语言,以及一个活跃的社区,该社区添加了许多开箱即用不包含的语言。
https://stackoverflow.com/questions/3125207
复制相似问题