有一种方法来搜索文本在一个目录中使用VS Code的所有文件?
也就是说,如果我在搜索中输入find this,它将搜索当前目录中的所有文件并返回匹配的文件。
有一种方法来搜索文本在一个目录中使用VS Code的所有文件?
也就是说,如果我在搜索中输入find this,它将搜索当前目录中的所有文件并返回匹配的文件。
我想这些官方指南应该对你的情况有用。
VS Code允许你快速搜索所有文件 已打开文件夹。按Ctrl+Shift+F并输入搜索 术语。搜索结果被分组到包含搜索的文件中 术语,并指示每个文件中的命中次数及其位置。 展开一个文件以查看该文件中所有命中项的预览。 然后单击其中一个点击,在编辑器中查看它。
您可以执行编辑,在文件中查找(或按Ctrl+Shift+F -默认键绑定,Cmd+Shift+F在MacOS上)来搜索当前打开的文件夹。
对话框上有一个省略号,您可以在其中包括/排除文件,以及搜索框中匹配大小写/单词和使用Regex的选项。
在VS Code中…
进入资源管理器(Ctrl + Shift + E) 右键单击您最喜欢的文件夹 选择“Find in folder”(Alt + Shift + F)
搜索查询将被“files to include”下的路径预填充。
默认情况下,此动作不绑定到键,要绑定它,请执行以下操作:
>键盘快捷键(Ctrl+K, Ctrl+S) 搜索“查找文件夹” 按下“filesExplorer”左侧的+图标。“findInFolder”搜索结果 输入所需的组合键
按Ctrl + Shift + F 点击搜索框下的3个点。 在搜索框中输入您的查询 在要包含的文件框中键入。/FOLDERNAME,然后单击Enter
另一种方法是,右键单击文件夹,选择在文件夹中查找
如果你在VSCode中打开了一个目录,并且想要搜索一个子目录,那么:
ctrl-shift-F然后在包含字段的文件中输入前导的路径。
or
ctrl-shift-E打开资源管理器,右键单击要搜索的目录,并选择查找文件夹…选择。
要添加到上面,如果你想在选定的文件夹内搜索,右键单击文件夹,然后单击“在文件夹中查找”或默认键绑定:
Alt+Shift+F
如前所述,要搜索项目中的所有文件夹,单击编辑>“在文件中查找”或:
Ctrl + Shift + F
跨文件搜索-按Ctrl+Shift+F
查找-按Ctrl+F
查找并替换- Ctrl+H
有关基本编辑选项,请访问此链接- https://code.visualstudio.com/docs/editor/codebasics
注意:对于mac, Ctrl代表命令按钮
不那么明显的是,您可以使用下面的模式来递归搜索
./src/**/*.html
因此,对于大多数典型的搜索,可以将以下内容作为默认设置,以提醒存在这样的东西
./src/**/
例如,我在左-右对齐/对接内容的属性后,我不记得了,除了“开始”,所以我做了以下搜索,向我揭示了“项目-开始”
这固定了我的布局
而不是
下面是“item-sart”在模板中的位置。
如果你想使用PowerShell搜索并打开当前目录下的所有文本文件:
foreach($file in $(dir -recurse -include *.txt))
{
code $file
}
你也可以更具体一点,甚至改变文件类型:
foreach($file in $(dir <specificDir> -recurse -include *.<anyExtension>))
{
code $file
}
请注意,如果单击“要包含的文件”字段右侧的“book”图标,它将在搜索“要包含的文件”字段中的所有文件和只搜索已打开编辑器中的文件之间切换(匹配“要包含的文件”字段)。
这可能只有当你知道阅读搜索对话框底部的文本时才会很明显,当你切换图书图标时,它会在以下内容之间发生变化:
在'中没有发现结果。/project_dir/sub_dir' -在所有文件中再次搜索-了解更多信息
这:
在打开的编辑器中没有发现匹配'的结果。/project_dir/sub_dir' -在所有文件中再次搜索-了解更多信息
如果您认为您已经找到了某些东西的所有出现,但实际上您只查看了打开的文件中的所有出现,那么这真的会把您搞得一团糟。
如果您想搜索当前目录/项目目录,但不是单个目录,只需在搜索选项卡上的“files to include”中键入*。(*指所有文件)
同样值得注意的是,当你进行“搜索”时。排除“配置有一些目录,这个配置比搜索更优先。因此,如果我有node_modules在“搜索。Exclude ",即使*也不会显示./node_modules中的文件,所以如果你想显式地包含搜索排除的dirs,请创建一个本地设置。./vscode中的Json,并覆盖配置。
VS Code默认动作
# | Command | Shortcut | Command ID |
---|---|---|---|
1. | View: Show Explorer | CTRL+SHIFT+E | workbench.view.explorer |
2. | Focus current directory | ← (Left arrow) | |
3. | Right-click / Find in Folder... | ALT+SHIFT+F | filesExplorer.findInFolder |
建议
默认命令太慢,即使使用键盘快捷键(需要按7次键)。
首先,我们去掉左箭头键。默认情况下,文件资源管理器。findInFolder命令要求聚焦一个文件夹。但是,它可以通过搜索文件的父文件夹完美地工作。
首选项:打开键盘快捷键(CTRL+K, CTRL+S) 搜索filesExplorer。findInFolder命令。 右键/更改表达式(CTRL+K, CTRL+E) 从When Expression中移除explorerResourceIsFolder需求。结果应该是:explorerViewletVisible && filesExplorerFocus && !inputFocus
现在,在文件夹中查找命令也适用于文件,因此快捷键组合向下一个键。下一个是ALT+SHIFT+F,这很烦人,有两个原因:
你必须记住什么时候按CTRL,什么时候按ALT,这很容易搞砸。 一些扩展使用ALT+SHIFT+F代码自动格式化-我怀疑这是你想要的副作用。
这就是为什么我建议用一些When Expression魔术来改变快捷键CTRL+SHIFT+F:
首选项:打开键盘快捷键(CTRL+K, CTRL+S) 搜索workbench.action.findInFiles,将其When Expression设置为!filesExplorerFocus 再次搜索filesExplorer。并将其键绑定更改为CTRL+SHIFT+F
结果
当文件资源管理器被聚焦时,CTRL+SHIFT+F触发“在文件夹中查找”,默认的“在文件中查找”在其他地方。 你必须按CTRL+SHIFT+F“在文件中查找”,或CTRL+SHIFT+E, CTRL+SHIFT+F“在文件夹中查找”。很容易记住。此外,后者可以通过按住CTRL+SHIFT同时按E,然后按F来优化
用户配置
{
"key": "ctrl+shift+f",
"command": "workbench.action.findInFiles",
"when": "!filesExplorerFocus"
},
{
"key": "ctrl+shift+f",
"command": "filesExplorer.findInFolder",
"when": "explorerViewletVisible && filesExplorerFocus && !inputFocus"
}
警告
filesExplorer。findfolder命令覆盖“要包含的文件”字段。例如,您可以有一个文件搜索模式*.c,*.cpp,*.h,*.hpp,现在它被文件夹路径覆盖。但你总是可以在字段中按↑(uprow)来循环历史记录并恢复之前的模式。