版本: Unity 6 (6000.0)
语言英语
  • C#

SearchService

UnityEditor.Search 类

建议修改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们会阅读用户提出的每个建议,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议修改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

主要的搜索 API,用于启动搜索和获取结果。

请务必查看 SearchService.Request,了解执行搜索请求的所有不同方法的完整列表。

using System.Linq;
using System.Collections.Generic;
using UnityEditor;
using UnityEditor.Search;
using UnityEngine;

static class Example_SearchService
{
    [MenuItem("Examples/SearchService/Class")]
    public static void Run()
    {
        void OnSearchCompleted(SearchContext context, IList<SearchItem> items)
        {
            foreach (var item in items)
                Debug.Log(item);
        }

        SearchService.Request("*.cs", OnSearchCompleted);
    }

    [MenuItem("Examples/SearchService/Providers")]
    public static void RunProviders()
    {
        // Print special search providers
        foreach (var provider in SearchService.Providers.Where(p => p.isExplicitProvider))
            Debug.Log($"Special Search Provider {provider.name} ({provider.id})");
    }

    [MenuItem("Examples/SearchService/OrderedProviders")]
    public static void RunOrderedProviders()
    {
        // Print providers by their search priority when a query is executed.
        foreach (var provider in SearchService.OrderedProviders)
            Debug.Log($"[{provider.priority}] {provider.name} ({provider.id})");
    }
}

静态属性

OrderedProviders返回按优先级排序的搜索提供者列表。
Providers返回所有搜索提供者列表(无论是活动还是非活动)。

静态方法

CreateContext从搜索提供者 ID 列表创建上下文。
CreateIndex创建一个新的搜索索引。
EnumerateDatabases枚举搜索数据库。
GetAction返回给定搜索提供者和搜索操作 ID 的搜索操作。
GetActiveProviders返回所有活动提供者。
GetItems启动搜索并返回与搜索上下文匹配的所有搜索项目。其他项目可以使用异步搜索稍后找到。
GetProvider返回给定 ID 的搜索提供者的数据。
IsIndexReady指示搜索索引是否已准备好使用。
Refresh清除所有内容并重新加载所有搜索提供者。请谨慎使用。在单元测试中很有用。
RefreshWindows刷新所有当前打开的搜索窗口。
Request执行一个异步获取搜索结果的搜索请求。
SetActive激活或停用搜索提供者。在执行此操作后调用 Refresh 才能在下次搜索时生效。
ShowContextual使用特定上下文打开搜索窗口(激活特定过滤器)。
ShowObjectPicker打开 Unity 对象的搜索选择器窗口。
ShowPicker打开搜索项目选择器窗口。
ShowWindow创建一个新的搜索窗口。