有一种方法来搜索文本在一个目录中使用VS Code的所有文件?
例如,如果我在搜索中键入find this,它将搜索当前目录中的所有文件,并返回匹配的文件。
find this
我认为这些< >强官方指南< / >强应该适合你的情况。
VS Code允许您快速搜索文件中的所有文件 已打开文件夹。按Ctrl+Shift+F并输入搜索 术语。搜索结果被分组到包含搜索的文件中 术语,并指示每个文件中的命中次数及其位置。 展开一个文件以查看该文件中所有命中项的预览。 然后单击其中一个点击,在编辑器中查看它
您可以执行编辑, 在文件中查找(或Ctrl+转变+F -默认键绑定,Cmd+转变+F在MacOS上)来搜索当前打开的文件夹。
对话框上有一个省略号,您可以在其中包括/排除文件,以及搜索框中匹配大小写/单词和使用Regex的选项。
在VS Code中…
搜索查询将在“文件包含”下预填充路径。
一个简单的答案是点击左边栏的放大镜
Ctrl + P (Win, Linux), Cmd + P (Mac) -快速打开,转到文件
默认情况下,此动作不绑定到键,要绑定它,请执行以下操作:
在搜索中输入关键字(CTRL + SHIFT + F)
例:!文件夹/文件* < / p >
回车
搜索结果给你想要的结果
按Ctrl + 转变 + F
点击搜索框下的3个点。
在files to include框中输入./FOLDERNAME,然后单击输入
files to include
./FOLDERNAME
另一种方法是,右键单击文件夹并选择Find in Folder
Find in Folder
如果你在VSCode中打开了一个目录,并且想要搜索一个子目录,那么:
./
或
Find in Folder...
要添加到上面,如果你想在选定的文件夹内搜索,右键单击文件夹,然后单击“在文件夹中查找”或默认键绑定:
# EYZ0 + # EYZ1 + # EYZ2
如前所述,要搜索项目中的所有文件夹,单击编辑>“在文件中查找”或:
跨文件搜索-按Ctrl+Shift+F
Ctrl+Shift+F
查找-按Ctrl+F
Ctrl+F
查找并替换- Ctrl+H
Ctrl+H
要获得基本的编辑选项,请遵循这个链接- https://code.visualstudio.com/docs/editor/codebasics
注意:对于mac, Ctrl代表命令按钮
顺便说一下,如果你在搜索输入中选择多个文件夹,你可以用逗号分隔目录。适用于排除和包括
例如:# EYZ0
不那么明显的是,您可以使用下面的模式来递归搜索
./src/**/*.html
因此,对于大多数典型的搜索,可以将以下内容作为默认设置,以提醒存在这样的东西
./src/**/
例如,我在左-右对齐/对接内容的属性后,我不记得了,除了“开始”,所以我做了以下搜索,向我揭示了“项目-开始”
选择文件夹 按⌥ + ⇧ + F 不知道windows,但这适用于mac:)
为了只在一个文件夹中搜索,你必须单击它并按Alt + Shift + F。
Alt
Shift
F
当你使用Ctrl时,VS Code看起来在所有项目中。
Ctrl
如果你想使用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,甚至*也不会显示./node_modules中的文件,所以如果你想显式地包括搜索排除dirs,请创建一个本地设置。./vscode中的Json,并覆盖配置。
node_modules
./node_modules
默认命令太慢,即使使用键盘快捷键(需要按7次键)。
首先,我们去掉左箭头键。默认情况下,filesExplorer.findInFolder命令要求聚焦一个文件夹。但是,它可以通过搜索文件的父文件夹完美地工作。
filesExplorer.findInFolder
explorerResourceIsFolder
explorerViewletVisible && filesExplorerFocus && !inputFocus
现在,在文件夹中查找命令也适用于文件,因此快捷键组合向下一个键。下一个是ALT+转变+F,这很烦人,有两个原因:
这就是为什么我建议用一些When表达式魔法将快捷键改为CTRL+转变+F:
workbench.action.findInFiles
!filesExplorerFocus
{ "key": "ctrl+shift+f", "command": "workbench.action.findInFiles", "when": "!filesExplorerFocus" }, { "key": "ctrl+shift+f", "command": "filesExplorer.findInFolder", "when": "explorerViewletVisible && filesExplorerFocus && !inputFocus" }
filesExplorer.findInFolder命令覆盖“;”文件以包含“;”字段。例如,您可以有一个文件搜索模式*.c,*.cpp,*.h,*.hpp,它现在被文件夹路径覆盖。但是您总是可以在字段中按↑ (UpArrow)来循环历史记录并恢复以前的模式。
*.c,*.cpp,*.h,*.hpp
从VSCode版本1.73(2022年10月)开始还有另一个选项
Add "Find in Folder"到上下文菜单中的搜索树 由163597年公关实现
由163597年公关实现