簡體   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