如何使用 IntelliSense 在 VS Code 中搜索包含部分单词的符号?

Mii*_*ika 5 intellisense fuzzy-search visual-studio-code

如何在 VS Code 和 IntelliSense 中搜索包含部分单词的符号(例如类)?

在 VS Code 中,可以查找包含部分单词的文件。例如,可以this_is_my_best_class.py通过文件搜索和键入来定位文件thisbest。但类似的方法似乎不适用于符号。

假设您有一个名为 的类MyBestInheritedIntelliSenseClass,并且您想从工作空间中找到它。有没有一种方法可以通过键入类似的内容来查找符号,BestIntelSen而不是键入整个符号MyBestInheritedIntelliSen

我正在使用 VS Code(v1.41.1,Windows)和 Python 扩展(v2020.1.58038)。

我已经使用 PyCharm 很长时间了,现在换成 VS Code 看看它是什么。如上所述,我会在 PyCharm 中查找符号,并且作为一个老习惯,我会在 VS Code 中使用类似的方法。正确的做法是什么?


这与屏幕截图相同。这是我可以寻找的类(VS Code):

在此输入图像描述

这就是我想要输入的内容(VS Code):

在此输入图像描述

这就是我希望看到的(来自 PyCharm):

在此输入图像描述

这与 VS Code 中的文件的工作原理相同:

在此输入图像描述

sta*_*all 0

对于该Go to Symbol in Editor...命令(搜索输入以“ @”开头的命令),VS Code 据称支持模糊搜索。请参阅在文件 #62435 中搜索符号时允许模糊结果

\n
\n

现在这确实有效。由于几个月大纲使用与 IntelliSense sense 相同的模糊评分算法,并且您应该列出的示例现在应该可以工作。对于效果不佳的情况,请提交单独的问题。-\xc2\xa0杰里肯

\n
\n

对于Go to Symbol in Workspace命令(搜索输入以“”开头的命令#),模糊搜索需要基于每个扩展的支持。VS Code GitHub 存储库上的至少两个问题单中提到了这一点:

\n

Ctrl+T 中(转到工作区中的符号...)不支持模糊搜索\n#156865

\n
\n

以前,#106788#62435#33746。我认为我们只是将查询传递给扩展程序,他们必须支持此操作才能返回结果,这不是我们的责任。这与我们获得所有结果 iirc 的文件中的符号搜索不同。-\xc2\xa0 bpasero

\n
\n

并在添加模糊搜索以按符号搜索\n#33746

\n
\n

排序和排名(在 UI 中)实际上使用我们的模糊搜索逻辑,但这仅在提供数据的扩展使用类似的宽松算法时才有帮助。在jsdoc中我们有以下声明

\n
\n
    \n
  • -参数应该以轻松的方式query解释,因为编辑器将对结果应用自己的突出显示和评分。一个好的经验法则是匹配时不区分大小写,并简单地检查查询字符是否按其在候选符号中的顺序出现。不要使用前缀、子字符串或类似的严格匹配。
  • \n
\n
\n

VS Code 不能做更多的事情,因为它只是渲染扩展提供的结果。因此,关闭为“由扩展名引起”,并非常乐意将其归档在每个扩展名的上下文中。-\xc2\xa0杰里肯

\n
\n

以下是该功能的一些特定于扩展的问题单,我可以通过相关的 GitHub 链接以及通过谷歌搜索“ github issues "go to symbol" workspace fuzzy”和“ github issues "go to symbol in workspace" fuzzy”找到这些问题单:

\n\n