【发布时间】:2018-08-14 18:35:01
【问题描述】:
Sublime 强大的搜索功能给我留下了深刻的印象,我们后来在 Visual Studio Code 和 Google Chrome Developer 中发现了它。
我猜一个非常基本的搜索算法可能会使用 Trie,但是这种对 Sublime 等文件的搜索似乎是某种多方向的 Trie(如果有这样的东西!),即如果你有一个像这样的文件名:
“我是一个非常大的漂亮创建文件和东西-else.js”
然后你搜索“created file”、“file created”、“something-beautifully”、“else big”、“big else”或来自该文件名的任何其他字符串组合,Sublime 和 Visual Studio 代码会找到它和其他具有相似名称的文件,立即。 (虽然 Google Chrome 开发者版本不是很强大,但这不是重点)。
所以,我稍微研究了 Visual Studio 的源代码,但仍然无法弄清楚搜索是如何实现的以及使用了哪种算法。我不是在寻找它的代码。只需要了解如何实现这个为我们开发人员节省大量时间的强大功能的高级理论。
【问题讨论】:
-
我不了解 VS Code 或 Chrome,Sublime 是封闭源代码和专有的,但可能this blog post 会给你一些想法。
-
@OdatNurd 确实很有帮助。谢谢。 :)
-
我希望 VSCode 能把他们的改成更像 Sublime 的...
-
@ScottStafford 崇高的有什么不同?
-
我不太清楚,因为它是不透明的。但感觉就像它在列表中更快更高地找到我想要的文件。它还感觉它会记住您使用某些搜索字符串选择的内容,从而了解您。不过不确定,我没有系统地研究过。
标签: visual-studio-code google-chrome-devtools sublimetext3