Visual Studio Code 中的快速搜索

12

我一直想从PhpStorm转移到VS Code,但我不喜欢VS Code内置的搜索功能在查找大型项目文件中的文本时速度有多慢。

对于这一点,PhpStorm真的很好,并且对我来说是一个必不可少的功能。我可以理解PhpStorm之所以擅长此项任务,是因为它预先索引了项目中的所有文件。

是否有任何方法可以使VS Code搜索更快?


提高搜索性能并在GitHub上创建一个拉取请求;-) 现在说正经的:搜索性能是VSCode中的一个问题,随着时间的推移已经有所改善。不幸的是,它仍然没有其他编辑器和IDE那么快。从用户的角度来看,您只能投票支持改进文件搜索。正如您在这里所看到的,这是11月和12月更新的计划项目:https://github.com/Microsoft/vscode/issues/15384 - Wosi
1
2019年3月,这个问题仍未解决。为什么不试试Notepad++呢?它的文件搜索非常快速,并且是开源的:https://github.com/notepad-plus-plus - Avatar
目前为了加快搜索速度,VSCode建议将内容添加到“search.exclude”中。而“files.exclude”则会完全从资源管理器中移除IDE的识别。 - Urasquirrel
2个回答

12

可能只需要告诉VS Code不要索引/搜索某些文件夹就可以了。你是否有不希望搜索的/vendor/dist文件夹?尝试以下步骤:

  • 进行一次较慢的搜索
  • 查看返回的文件
  • 看看是否有在你不关心的文件夹中返回的文件

对于这些文件夹,将它们添加到您的设置文件的files.exclude部分中:

"files.exclude": {
  "**/dist*": true,
  "**/node_modules*": true
},

如果搜索结果中出现了非常大的文件,请将它们也加入其中。

搜索需要处理的文件越少,速度就会越快。

2021年10月更新

现在您应该使用search.exclude而不是files.exclude,因为files.exclude会从搜索中删除文件,但也会从左侧导航树中删除这些文件。 search.exclude只会将它们从搜索结果中过滤出来。

"search.exclude": {
  "**/dist*": true,
  "**/node_modules*": true
},

设置文件在哪里? - ionescho
2
Ctrl+,(控制键和逗号键)... 或(在Windows上)转到顶部菜单中的“文件”>“首选项”>“设置”,然后在设置页面上搜索“搜索”,向下滚动一点以找到一个名为“搜索:排除”的部分。 - chrisweb
1
此外,请注意在“要排除的文件”字段内的搜索侧边栏中有一个Clog图标。如果它没有激活,您的.exclude设置将被忽略。 - MMalke
1
目前为了加快搜索速度,VSCode 建议将文件添加到 search.exclude 中。而你提到的 files.exclude 则会完全从资源管理器中移除这些文件。 - Urasquirrel
1
他们应该使用像IntellijIDEA这样的搜索缓存,可以在不到1分钟的时间内搜索数千个文件。 - MaXi32
可能这只适用于Mac?(我发现在Windows + Ubuntu上可以,但在Mac上不行)注意:尽管有文件和搜索设置,但VS Code表示搜索排除“继承所有文件的全局模式:排除设置。”我的.vscode文件:{ "files.exclude": { "**/node_modules": true } } - Sean

0

在 vscode 中有一个新的快速搜索实现。当你只想进行快速、简单的搜索时(即无正则表达式、无替换,没有通常的查找选项,如matchWholeWord等),在工作区中可用。现在可以在 Insiders v1.82 中进行测试。

它似乎使用“查找”小部件作为查询字段,该小部件的查询字段将填入您键入的搜索词,然后您可以在所转到的文件中使用像“选择所有查找匹配项”这样的命令。结果按文件分组。点击条目可转到相应的文件和行号。

Search: Quick Text Search (Experimental)   // in the Command Palette
workbench.action.experimental.quickTextSearch   // to be used in a keybinding

命令未绑定到键绑定,但您可以像这样创建自己的绑定:
{
  "key": "alt+q",
  "command": "workbench.action.experimental.quickTextSearch"
}

quick search text demo

你可以在列表中的任何条目上按下右箭头键,它将在后台打开而不会失去对快速面板的焦点。
点击条目或按下回车键将转到该条目并关闭快速面板。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接