Я пытаюсь реализовать автозаполнение значков Material Design для Google в веб-Essentials.Содержимое элемента веб-Essentials HTML autocompletion
Этот значок шрифта использует содержимое элемента вместо атрибута класса для определения значка следующим образом: <i class="material-icons">add</i>
.
Я изучал классы завершения HTML в настоящее время и придумал код ниже, но по какой-то причине это не работает.
Любая помощь, направленная на то, чтобы указывать мне в правильном направлении, так как мне не удалось найти документацию на этих сборках, будет очень признательна.
using System.Collections.Generic;
using System.Linq;
using Microsoft.Html.Editor.Completion.Def;
using Microsoft.Web.Core.ContentTypes;
using Microsoft.VisualStudio.Utilities;
using Microsoft.Html.Editor.Completion;
namespace MaterialIcons
{
[HtmlCompletionProvider(CompletionTypes.Children)]
[ContentType(HtmlContentTypeDefinition.HtmlContentType)]
class IconCompletion : IHtmlCompletionListProvider
{
private static List<string> _icons = new List<string>()
{
"info_outline",
"input",
"invert_colors"
};
public string CompletionType
{
get
{
return CompletionTypes.Children;
}
}
public IList<HtmlCompletion> GetEntries(HtmlCompletionContext context)
{
if (!context.Element.GetAttribute("class").Value.Contains("material-icons"))
{
return new List<HtmlCompletion>();
}
return CreateCompletionItems(context).ToArray();
}
private static IEnumerable<HtmlCompletion> CreateCompletionItems(HtmlCompletionContext context)
{
foreach (string item in _icons)
{
yield return new SimpleHtmlCompletion(item, context.Session) { };
}
}
}
}