PackageControl 上可能有一个包可以提供这种行为,但 Sublime 没有开箱即用的类似功能。
既然您提到您是 Sublime 的新手,您可能没有意识到您使用的面板可能比您想象的更强大和有用。
特别是,您不必在框中输入完整的文件名或路径,而是可以输入文件名的片段来过滤列表。
例如,这个代码库中大约有 4,000 个文件,我想从文件夹 DevSrc/RegionalCenter/TSE/ 打开一个名为 Reader.h 的文件。正如您所注意到的,您可以使用名称过滤列表;说我在这里做:
对我来说可悲的是,我想要的文件恰好是列表中的最后一个文件,这需要滚动才能找到正确的文件。
在这种情况下,我知道我想要来自 TSE 文件夹的文件,所以我可以在我想要的文件名之前输入那个部分路径片段,这会限制列表并将我想要的文件带到就在上面:
如果您检查面板中显示的结果,您会看到匹配中的某些文本被突出显示,告诉您匹配是如何应用的。
这表明您实际上根本不需要输入完整的文件名;任何文本都可以,最佳匹配项会跳到顶部。所以在这里我可以很容易地找到SIAC文件夹中的Reader.h或者更简单的TSE文件夹:
这里需要注意的是,除了 Sublime 用来确定哪些文件匹配的所有内部标准之外,您之前的选择也会被考虑在内。
在这种情况下,当我输入tread 时,Reader.h 文件会跳转到顶部;如果我真的想要 Reader.m 文件,我可以在文本中添加 m 来选择它。
另一方面,如果我向下箭头一次并按 Enter 选择文件,下次我使用相同的文本执行相同的搜索时,Reader.m 会跳到顶部列表,因为我在输入 tread 时告诉了 Sublime 我想要什么文件。
如第二个示例所示,您可以输入多个空格分隔的术语并让它们匹配(例如tse reader.h)。如果您至少使用 Sublime build 3154(目前要求您是许可用户,因为它是一个开发版本),面板中的条款可以按任何顺序排列并且仍然匹配。
这意味着我可以输入reader.h 来获取我想要的列表,然后输入tse 以提供更多过滤,这样更快,并且不需要您在开始之前知道完整路径是。
这只是触及了 Goto Anything 面板功能的表面;例如,可以尝试搜索词 models.py@、models.py# 或 models.py:10。
有关更多信息,您可以查看file navigation in Sublime 上的unofficial documentation。