目前我正在尝试为PHP语言构建一个文本编辑器,该编辑器应该具有代码补全的功能,即如果我开始输入一个词,则动态创建的下拉列表将显示所有可用的关键字都以我输入的字母开头。任何机构都可以告诉我如何做到这一点。想法对我来说已经足够了。如果可能的话,请为我提供一个链接,使用C#编写这样简单的应用程序构建带代码补全功能的文本编辑器
回答
考虑到一般来说这不是一件容易的事,所以没有一些“简单”的应用程序。
即使在一般的想法是不是火箭科学。你需要定义一个单词字典,对应于某个键。当你输入“。”时(在C#
)你必须从字典中选择所有对应于该键的单词,该单词相当于在上找到的单词,从左侧的侧面出现“。”。
要做到这一点真正的工作应用并不那么容易。顺便说一句,我可以推荐看看他们的编辑MonoDevlop。
我几年前就和它合作为DSL公司做了一个简单的编辑器,花费了很少的时间来正确理解内部信息,很好地整合了“我的新语言”,“分离”Mono的控制并注入到我们的应用程序,就像一个可停靠的窗口。
现在我的问题是我必须创建一个动态列表框,按下'。'后有词典中的关键字。怎样才能做到这一点?我想知道如何在给定'。'的正下方在丰富的文本框中动态地创建一个列表框。 –
** **编辑器为你处理这个问题,你只需要提供一个你想在里面显示的单词的“词典”,以及查找键。至少在那个时候它以那种方式工作,但不要认为它有太大的改变。 – Tigran
如果我在这里你我真的尽力避免车轮...代码完成是大多数IDE的,现在配备了等你以后有什么是已经上市...
话虽这么说,我什么将尝试将通过PHP API并构造一个Suffix tree。这种类型的树通常允许快速查找给定单词。一旦您为API编制索引,您还可以添加用户在执行实际编程时添加的任何其他变量。
在用户输入第三个字母后,您可以在后缀树中自动启动搜索,或者为用户提供手动激活它的方法,如大多数IDE的键盘(Visual Studio,Netbeans,Eclipse等) )有。
请注意,这可能会变得棘手,因为您可能想要选择适当的变量类型。
- 1. 从源代码构建旧版本的Atom文本编辑器?
- 2. 构建文本编辑器
- 3. 带有比较功能的大型文本文件编辑器?
- 4. 带编辑文本的警报对话框构建器
- 5. 带调试功能的D编辑器
- 6. 文本编辑器的纯功能数据结构
- 7. 具有文件浏览功能的远程代码编辑器
- 8. 带lesscss支持的代码编辑器?
- 9. 富文本编辑器,就像一个源代码编辑器
- 10. 快速代码编辑功能
- 11. 在线文本编辑器不能使用我的javascript代码
- 12. 带插入功能的代码点火器安全
- 13. 带班探险Perl代码编辑器
- 14. 如何实现带编辑文本的快速搜索功能
- 15. 编辑和构建libstdC++源代码
- 16. Monobehaviour脚本中的编辑器功能
- 17. OSX Lion全屏代码编辑器?
- 18. 带有ASP.Net文件上传功能的TinyMCE编辑器MVC4
- 19. 从零开始创建文本/代码编辑器
- 20. swt或jface代码来创建文本编辑器和画布
- 21. vb.net/C#带颜色编码的代码编辑器
- 22. 带文本编辑器的Django
- 23. 带按钮的文本编辑器?
- 24. 面向代码的编辑器:必备功能?
- 25. 如何使用Notepad ++实现“CodeIgniter 2.0”代码补全功能?
- 26. 如何使用WPF构建简单的源代码编辑器?
- 27. 文本编辑不能识别编码
- 28. 丰富的文本编辑器建议CMS构建onZend框架
- 29. 编译并构建fedora的补鞋匠源代码rpm
- 30. 构建功能修补程序时出现编译错误
我想问你为什么要重新发明轮子? –
程序员的可能候选人.stackexchange.com – Adil
只是为了我自己的兴趣 –