【发布时间】:2022-04-29 21:53:53
【问题描述】:
虽然这不是一个直接的开发问题,但确实涉及到一个开发工具,这与我的开发工作非常相关:
当我在 VSCode (CTRL+P) 中搜索文件时,我发现它不包括属于 .gitignore 文件的文件和文件夹。
我可以很好地看到其中的逻辑,这很好,但是如何禁用此(默认?)行为?意思是,我确实希望此搜索包括项目中的所有文件,无论 .gitignore 文件(或任何其他忽略文件,就此而言)。
【问题讨论】:
虽然这不是一个直接的开发问题,但确实涉及到一个开发工具,这与我的开发工作非常相关:
当我在 VSCode (CTRL+P) 中搜索文件时,我发现它不包括属于 .gitignore 文件的文件和文件夹。
我可以很好地看到其中的逻辑,这很好,但是如何禁用此(默认?)行为?意思是,我确实希望此搜索包括项目中的所有文件,无论 .gitignore 文件(或任何其他忽略文件,就此而言)。
【问题讨论】:
【讨论】:
all . . . 之类的前缀。我意识到这是一个远景。
.gitignore 下提到的所有人。
Ctrl-p/Ctrl-e 搜索。没有任何可调整的控件。
正如this answer 中的屏幕截图所示,vscode 在.gitignore 和.ignore 中都使用了规则。由于 Git 只识别 .gitignore,我们可以否定 .ignore 中的一些规则,将它们带回 vscode 搜索结果中。
一个演示:
.gitignore
.env.local
.忽略
!.env.local
此技巧也适用于rg 和fd 等工具。
【讨论】:
不知道这是否仍然有用,但我发现的一种方法是。配置选项中有一个search.exclude 设置
通常我们会通过将其设置为 true 来使用它来排除模式。但是,我们可以通过将规则设置为 false 来强制包含排除模式
{
"files.exclude": {
"**/*.asset":true,
"**/*.mat":true,
"**/*.meta":true,
"**/*.prefab":true,
"**/*.unity":true,
},
"search.exclude": {
"**/*.asset":false,
"**/*.mat":false,
"**/*.meta":false,
"**/*.prefab":false,
"**/*.unity":false,
}
}
这是我对统一项目的设置,这使得所有被忽略的元文件都从资源管理器中丢失。但我仍然可以搜索它的内容
【讨论】: