我很可能不了解问题空间,但我在查找MEF(编辑器分类器项目)时遇到了麻烦。
我已经创建了(将MSDN https://msdn.microsoft.com/en-us/library/ee197665.aspx的演练指南拼凑在一起),这是Informix存储过程语言的语法高清。
我遇到的一个主要问题是 - 我希望能够找到关键字" DEFINE"的所有实例。并将其后面的单词直接填充到我所拥有的语句完成扩展名中(目前它已从定义的单词列表中填充)。
与C#的本机支持非常相似 - 当您定义变量时,它会在自动完成下拉列表中显示。
我摆脱了课堂上的硬编码(来自演练),我的完成单词定义如下:
List<Completion> completions = new List<Completion>();
CompletionTags completionTags = new CompletionTags();
foreach (string completionTag in completionTags.completionTags)
{
completions.Add(new Completion(completionTag));
};
我的CompletionTags类非常简单:
类CompletionTags { public list completionTags;
public CompletionTags()
{
this.completionTags = new List<string> {
// SQL keywords
"COUNT",
"FROM",
"HAVING",
};
}
我知道我需要做什么。我在某种程度上需要在缓冲区发生变化时劫持缓冲区,并找到所有出现的&#39; DEFINE([a-zA-Z0-9 _] {1,}}&#39;并将\ 1添加到completionTags列表。
我不知道如何做到这一点。此时在任何方向(或任何方向)的任何指针都将非常感激。
善待 - 我们在某个阶段已经超出了我们的深度(我现在用C#编程了3天)...