C# 使用代码完成功能构建文本编辑器

C# 使用代码完成功能构建文本编辑器,c#,php,editor,code-completion,C#,Php,Editor,Code Completion,目前,我正在尝试为PHP语言构建一个文本编辑器,它应该具有代码完成功能,即,如果我开始键入一个单词,一个动态创建的下拉列表将显示所有可用的关键字,从我键入的字母开始。谁能告诉我怎么做。这个主意对我来说就足够了。如果可能的话,请给我一个链接,指向C语言中的这种简单的应用程序构建。如果我真的想避开轮子的话。。。代码完成是大多数IDE现在都有的东西,所以您所追求的已经可用了 也就是说,我将尝试遍历PHPAPI并构造一个。这种类型的树通常允许快速查找给定单词。索引API后,还可以添加用户在执行实际编程时

目前,我正在尝试为PHP语言构建一个文本编辑器,它应该具有代码完成功能,即,如果我开始键入一个单词,一个动态创建的下拉列表将显示所有可用的关键字,从我键入的字母开始。谁能告诉我怎么做。这个主意对我来说就足够了。如果可能的话,请给我一个链接,指向C语言中的这种简单的应用程序构建。

如果我真的想避开轮子的话。。。代码完成是大多数IDE现在都有的东西,所以您所追求的已经可用了

也就是说,我将尝试遍历PHPAPI并构造一个。这种类型的树通常允许快速查找给定单词。索引API后,还可以添加用户在执行实际编程时添加的任何其他变量

您可以在用户输入第三个字母后在后缀树中自动启动搜索,也可以为用户提供手动激活它的方法,如大多数IDE的Visual Studio、Netbeans、Eclipse等的Ctrl空格键盘


请注意,这可能会变得棘手,因为您可能需要选择适当的变量类型。

考虑到一般来说这不是一项容易的任务,因此没有简单的应用程序

即使总的来说这不是一门火箭科学。您需要定义一个对应于某个键的单词词典。当你打字的时候。在C语言中,你必须从字典中选择所有与键对应的单词,这些单词与从字典左边找到的单词相等

要做到这一点,真正的工作应用并不那么容易。顺便说一下,我可以推荐你看看他们的编辑


几年前,我使用它为DSL公司制作了一个简单的编辑器,花了不少时间来正确理解意图,很好地集成我的新语言,将控制从Mono中分离出来,并注入到我们的应用程序中,就像一个可停靠的窗口。

我可以问一下为什么你要重新发明轮子吗?可能是程序员的候选人。stackexchange.com只是为了我自己的利益。现在我的问题是,我必须在按下“.”后创建一个动态列表框,其中包含字典中的关键字。我该怎么做?我想知道如何在a侧动态创建一个列表框富格文本框位于给定“.”的正下方。该编辑器为您处理该问题,您只需提供一个包含要在其中显示的单词的词典,以及用于查找的键。至少在那个时候它是这样工作的,但不要认为它改变了很多。