Atom搜索慢因未正确配置忽略规则:需同时启用core.excludeVcsIgnoredPaths并设置core.ignoredNames为"node_modules", "dist", ".DS_Store", "*.log",且必须重启;或使用无需重启的项目级.atomignore文件。

搜索结果为什么总带 node_modules 和 dist
Atom 默认不跳过任何目录,哪怕项目里有 .gitignore,也不会自动生效。它只在两个条件同时满足时才读 .gitignore:项目根目录存在 .git 文件夹,且设置项 core.excludeVcsIgnoredPaths 为 true(默认开启,但必须确认勾选)。漏掉任一,node_modules、dist、*.log 就会全量参与扫描——不是 Atom 慢,是它真在遍历几万个小文件。
必须改的两个核心设置并重启
这两个配置项必须同时设对,且修改后必须重启 Atom,热重载无效:
-
core.ignoredNames:在 Settings > Core > Ignored Names 中填入"node_modules", "dist", ".DS_Store", "*.log"(注意格式:英文双引号、逗号后空格、不支持路径通配符,dist/会失效,写dist即可) -
core.excludeVcsIgnoredPaths:Settings > Core > Exclude VCS Ignored Paths 必须勾选,否则.gitignore完全不触发
File/directory pattern 留空才是全项目扫描
这个输入框不是“可选过滤”,而是硬性白名单。填了内容,就只扫匹配的路径,其他一律屏蔽:
- 想搜整个项目:清空
File/directory pattern,连空格都不能有 - 想只搜
src下的 JS:填src/**/*.js(原生支持**,不支持@(js|ts)) - 误填
./src会导致只扫当前层,不进子目录;!node_modules在 ripgrep 中支持有限,不如靠前两项配置稳
.atomignore 是唯一免重启、优先级最高的方案
在项目根目录新建 .atomignore 文件,内容如下:
node_modules/ dist/ *.log *.tmp
每行一个 glob 模式,末尾加 / 表示目录(node_modules/ 可精确匹配目录,避免误伤同名文件)。它比 .gitignore 更早加载,也比 core.ignoredNames 更灵活(支持 **/*.log),且修改后无需重启。
真正容易被忽略的是:这三套机制(.atomignore、.gitignore + excludeVcsIgnoredPaths、core.ignoredNames)互不感知,各自独立生效。调错其中一层,噪音就回来。

















