繁体   English   中英

是否有任何文本编辑器/ IDE一般支持语言?

[英]Are there any text-editors/IDEs that support languages generically?

我正在寻找一个编辑器/ IDE,它可以提供编码时很好的功能(例如:能够点击到函数定义),而不是专门为它编写的语言。 通过这些,我考虑到了为特定目的而设计的语言,并且通常仅由小社区使用。 换句话说,那些在大多数软件中都没有本机支持的。

我意识到这需要相当多的仙尘,但我不认为这超出了可能的范围。 基本上,编辑器必须足够聪明才能识别许多声明性语言共有的常用语法和语义。 这很可能需要一些配置。

这样的事情存在吗? 如果没有,您认为在创建它时会遇到什么挑战?

如果您只需要跳转到特定函数或类的定义的功能,那么VIM(以及许多其他编辑器,如Emacs,Epsilon和JOE)可以从ctags文件中读取跳转位置。 您只需为自定义语言编写ctags文件生成器。

对于可编程编辑器(如VIM,Emacs,Epsilon,Eclipse和gedit),您可以为自定义语言编写自己的插件,但它可能很快变得耗时并且成为维护的噩梦,因为新版本的编辑器倾向于更改插件接口。

请注意,添加对语法突出显示的支持通常比为符号查找添加类似ctags的支持要容易得多。 更高级的功能,如重构和上下文相关的符号完成(如现代IDE中的Ctrl-Space和Tab)更难实现。

GNU Emacs在这方面有很好的基础设施。 直到最近,Haskell还是一种主要由研究人员使用的相对未知的语言。 然而,在几千行的Emacs Lisp中,我们有

  • 语法用颜色突出显示
  • 自动缩进
  • 包支持
  • 将光标放在库函数上时自动突出显示类型和其他信息
  • 标识符上的元点跳转到其定义(通过标准的emacs标记机制)

关于Emacs的好处是(a)有许多模型要遵循,(b)你可以逐步建立环境,从那些对你最重要的方面开始。

我很惊讶没有人提到过Notepad ++: http//notepad-plus-plus.org/

它为多种语言提供语法支持,并为用户提供添加新语言的功能,以及一个活跃的社区,可添加许多未包含在内的语言。

大多数优秀的IDE都是语言无关的,并且支持几种(如果不是很多)编程语言。 如果你在谈论DSL,那么eclipse有一个看起来非常棒的解决方案--Xtext

EditPadPro附带了一组工具,允许您基于非常强大的正则表达式语法构建自己的语法突出显示代码折叠和文件导航方案。 因此,如果您的语言不是已经开箱即用的许多语言,或者可以从网站上下载 ,您可以轻松地自己动手(并与社区分享)。

替代文字

Visual Studio旨在允许这样做,但它需要语言添加显式支持。 例如, Delphi Prism将安装到Visual Studio中,并提供全面的语言支持。

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

SciTE和Scintilla为不同语言提供通用编辑器/平台。 该库包含几个可与许多编程语言一起使用的解析器,您可以将其中一个解析为您自己的语言,以添加格式和语法突出显示。

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

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

ZeusWindows平台的语言中立IDE,它为ctags支持的任何语言提供定义/声明功能。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM