作者:牧高风_457 | 来源:互联网 | 2023-02-01 17:57
Imlookingfordesign\architectualguidanceformoderntexteditors.我正在寻找现代文本编辑器的设计\架构指导。Modern
I'm looking for design\architectual guidance for modern text editors.
我正在寻找现代文本编辑器的设计\架构指导。
Modern text editor means that:
现代文本编辑器意味着:
- It has support for syntax highlighting
它支持语法突出显示
- It has auto-completion (something like IntelliSense)
它有自动完成(类似于IntelliSense)
- It has advanced navigation capabilities (incremental search, etc.)
它具有高级导航功能(增量搜索等)
Following properties will be a plus:
以下属性将是一个加号:
- Implemented in managed language (Java, any .NET language)
以托管语言实现(Java,任何.NET语言)
- Modular architecutre
- Add-in support
I'm very interested in text editor related design\architecure documents\articles, links to open source projects.
我对文本编辑器相关的设计\ architecure文档\文章,开源项目的链接非常感兴趣。
I'm not interested in general recommendations, OOP/design patterns books advertisement.
我对一般建议,OOP /设计模式书籍广告不感兴趣。
Currently I'm analyzing SharpDevelop code editor source code. Links to similar projects will be appreciated.
目前我正在分析SharpDevelop代码编辑器源代码。将赞赏与类似项目的链接。
7 个解决方案
0
Have you looked at vim? It supports autocompletion, syntax highlighting, incremental search, integrated building, etc, etc. It is modular and many of its more advanced features are implemented as plugins that either ship with it or can be found separately (e.g., svn integration, code indexing with cscope/ctags, transparent reading/writing over ssh).
你看过vim了吗?它支持自动完成,语法高亮,渐进式搜索,综合楼等,等,这是模块化的,它的许多更先进的功能被实现为插件,要么用它,也可以单独找到(例如,SVN集成,代码索引与船cscope / ctags,通过ssh透明读/写)。
It has apis for writing plugins in several langauges (e.g., python, ruby, perl) as well as its own extension language ('vimscript').
它具有在几种语言(例如,python,ruby,perl)中编写插件的api以及它自己的扩展语言('vimscript')。
I don't know what they have in terms of high-level architecture documentation, but there is an active community and a developer mailing list that should be able to answer specific questions about how it works if you start digging through the source.
我不知道他们在高级架构文档方面有什么,但是有一个活跃的社区和开发人员邮件列表,如果你开始挖掘源代码,它应该能够回答有关它如何工作的具体问题。