gpt4 book ai didi

c# - 如何向 VS2013 语法扩展 (MEF) 动态添加补全词

转载 作者:太空狗 更新时间:2023-10-29 19:45:15 26 4
gpt4 key购买 nike

很可能我只是不了解问题空间,但我在弄清楚 MEF(编辑器分类器项目)时遇到了麻烦。

我已经创建(将来自 MSDN https://msdn.microsoft.com/en-us/library/ee197665.aspx 的演练指南拼凑在一起)Informix 存储过程语言的语法高亮器。

我遇到的一个主要问题是 - 我希望能够找到关键字“DEFINE”的所有实例,并将紧随其后的单词填充到我拥有的 Statement Completion 扩展中(目前它是从定义的单词列表中填充的) .

很像 C# 的 native 支持 - 当您定义一个变量时,它会在自动完成下拉列表中可用。

我摆脱了类硬编码(来自演练),我的完成词定义如下:

List<Completion> completions = new List<Completion>();

CompletionTags completionTags = new CompletionTags();

foreach (string completionTag in completionTags.completionTags)
{
completions.Add(new Completion(completionTag));
};

我的 CompletionTags 类非常简单:

类 CompletionTags { 公共(public)列表完成标签;

public CompletionTags()
{
this.completionTags = new List<string> {
// SQL keywords
"COUNT",
"FROM",
"HAVING",
};
}

我知道我需要做什么。我不知何故需要在缓冲区发生变化时劫持它,并找到所有出现的“DEFINE ([a-zA-Z0-9_]{1,})”并将\1 添加到 completionTags 列表中。

我不知道该怎么做。在这一点上任何正确(或任何)方向的指示都将不胜感激。

客气点——我们都在某个阶段超出了我们的深度(我现在已经用 C# 编程 3 天了)...

最佳答案

关于c# - 如何向 VS2013 语法扩展 (MEF) 动态添加补全词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30252767/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com