为 ifowignore 添加“取消排除”功能或支持禁用继承 .gitignore


需求:为 ifowignore 添加“取消排除”功能或支持禁用继承 .gitignore

背景

当前 ifowignore 默认会继承项目中的 .gitignore 规则,导致某些被 .gitignore 忽略的文件在使用 ifow 时也无法被处理。

问题

在某些场景下,用户希望:

  • 不将某些文件提交到 Git(因此它们仍需保留在 .gitignore 中);

  • 但希望 ifow 能够处理这些文件(即不被忽略)。

目前缺乏机制来覆盖或取消 .gitignoreifow 的影响。

功能请求(任选其一或两者兼有)

  1. 添加“取消排除”语法
    ifowignore 文件中支持类似 !file 的语法(或新语法),显式声明某些被 .gitignore 忽略的文件应被 ifow 包含。

  2. 提供选项禁用继承 .gitignore
    增加命令行参数(如 --no-gitignore)或配置项,使 ifow 完全忽略 .gitignore 规则,仅依据 ifowignore 决定文件是否被处理。

示例场景

  • .env.local.gitignore 排除(出于安全不提交到仓库);

  • 但用户希望 ifow 能扫描或处理该文件(例如用于本地配置检查);

  • 当前无法实现,因为 ifow 继承了 .gitignore 并自动忽略该文件。

期望结果

用户可通过 ifowignore 或命令行选项,灵活控制哪些文件即使被 Git 忽略,仍能被 ifow 处理。


找到了 “fileFiltering”: {
“respectGitIgnore”: true,
“enableRecursiveFileSearch”: false
}

顶一下,确实有类似需求

  • fileFiltering(对象):
    • 描述: 控制 @ 命令和文件发现工具的 git 感知文件过滤行为。
    • 默认值: "respectGitIgnore": true, "enableRecursiveFileSearch": true
    • 属性:
      • respectGitIgnore(布尔值):发现文件时是否遵循 .gitignore 模式。设置为 true 时,git 忽略的文件(如 node_modules/dist/.env)会自动从 @ 命令和文件列表操作中排除。
      • enableRecursiveFileSearch(布尔值):在提示中完成 @ 前缀时是否启用在当前树下递归搜索文件名。
    • 示例:
"fileFiltering": {  "respectGitIgnore": true,  "enableRecursiveFileSearch": false}
1 个赞