记录可视化当前搜索文件时的行为:
search-custom-label.webm
解释:
正如您在录制中看到的,当搜索文件时,vscode只会根据实际文件名进行匹配,而不是自定义标签。
此外,一开始可能会很困惑,因为如果实际文件路径上匹配了相同的字母,vscode会在自定义标签中高亮显示匹配的字母。这似乎像是vscode按照标签进行搜索,但实际上并不是这样,这使得当找不到文件时,给人一种搜索出错的印象。
能够通过自定义标签进行搜索是非常方便的,因为它允许在大代码库中快速缩小范围,就像我在录制示例中使用前缀字母和冒号开头一样。
- 添加*:搜索结果的排序也基于原始文件路径。这导致在查看标签时出现看似任意的顺序。录制中看到的分组纯属偶然,列表中还有更多项目远远排在后面。
据我理解,此功能需要对项目进行一些索引。也许它可以是vscode的一个选项:
{
"workbench.editor.customLabels.search": true
"workbench.editor.customLabels.sort": true
}
4条答案
按热度按时间emeijp431#
你已经列举了这个大问题...
正如我所理解的,这个功能需要对项目进行一些索引。
这相当具有挑战性。今天,我们使用ripgrep在文件系统中搜索文件...它对自定义标签一无所知,但速度非常快。
我们需要一个既保持速度又考虑自定义标签的解决方案。
vdzxcuhz2#
正如@zardoy在这里提到的,实际上这是可搜索的:
https://code.visualstudio.com/updates/v1_89#_custom-editor-labels-in-quick-open
你的回复听起来好像不是一个预期的功能。双方是否有误解?
听起来是可以通过自定义标签进行搜索。否则你基本上是在盲目搜索,当标签使实际路径消失时,但路径仍然是被搜索的那个。
mf98qq943#
发布说明描述可能有点误导。我们根据文件路径在工作区中搜索文件,然后根据自定义标签对这些结果进行排序。我们发现这在大多数情况下效果很好,因为用户通常会将标签更改为使用路径中提到的单词。此外,当您最近打开了文件时,它也可以根据自定义标签找到文件。
例如,在上面的截图中,它找到了正确的文件,因为文件路径中出现了单词
component
,但它也会将其视为recently opened
。由于自定义标签使用了正则表达式,因此基于自定义标签在整个工作区中进行搜索可能会非常慢,这就是为什么我们目前不这样做的原因,但我们可能会在某个时候探讨这个问题。对于这个功能可能引起的任何误解,我表示歉意。
4dbbbstv4#
谢谢。
我注意到在使用
recent
文件时,这实际上导致了更多的初始困惑,因为我想知道为什么有些路径可以工作,而有些不行。直到我清除了最近的文件。尽管我不得不承认,那些搜索、排序和最近文件的困惑很快就被解决了。花了我大约1-2分钟的时间进行测试,直到它明白了。在我的情况下,标签相当易读但很长,所以路径甚至不可见且被截断。我想知道我的情况是边缘情况还是常见情况。