Чтобы добавить новую поисковую систему, создайте функцию и пометьте ее тегом SearchItemProvider
. атрибут, как в следующем примере:
[SearchItemProvider]
internal static SearchProvider CreateProvider()
{
return new SearchProvider(type, displayName)
{
filterId = "me:",
fetchItems = (context, items, provider) =>
{
var itemNames = new List();
var shortcuts = new List();
GetMenuInfo(itemNames, shortcuts);
items.AddRange(itemNames.Where(menuName =>
SearchProvider.MatchSearchGroups(context.searchText, menuName))
.Select(menuName => provider.CreateItem(menuName,
Path.GetFileName(menuName), menuName)));
},
fetchThumbnail = (item, context) => Icons.shortcut
};
}
- Функция должна возвращать новый экземпляр
SearchProvider
. - Экземпляр
SearchProvider
должен иметь следующее: - Уникальный
тип
. Например, Актив, Меню или СценаA Сцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
См. в Словарь. displayName
для использования в панели фильтров.- Необязательный
filterId
предоставляет токен поиска для текстовой фильтрации. Например,p:
— это идентификатор фильтра для поиска активов.
Регистрация ярлыка службы поиска
Чтобы зарегистрировать ярлык для нового поставщика, используйте:
[UsedImplicitly, Shortcut("Help/Quick Search/Assets")]
private static void PopQuickSearch()
{
// Open Search with only the "Asset" provider enabled.
QuickSearchTool.OpenWithContextualProvider("asset");
}
Вы можете сопоставить сочетания клавиш с клавишами или комбинациями клавиш с помощью диспетчера сочетаний клавиш.