Skip to content

[Feature] Agent 模式项目文件改动面板应支持隐藏 dotfile 目录(.github/.git/.vscode 等)的改动 #1761

Description

@v1ax

问题

在 Agent 模式下,项目文件改动面板会展示 .github/.git/.vscode/ 等以点开头的目录下的文件变化。这些目录通常是配置/元数据目录,其改动对用户参考价值不大,反而会干扰对业务代码改动的关注。

期望

希望能支持以下方式之一(或组合):

  1. 默认隐藏. 开头的目录的改动展示
  2. 提供设置项让用户自定义忽略的目录模式(类似 .gitignore 风格)
  3. 复用已有的 .gitignore 规则来过滤改动展示

背景

注意到 Proma 内部已有忽略特定目录的机制(如 Python 环境和缓存目录),希望这个能力能:

  • 扩展覆盖到 dotfile 目录(以 . 开头的目录)
  • 开放给用户自定义配置

建议方案

方案 A:默认忽略 dotfile 目录(最小改动)

在现有的内部忽略列表基础上,增加以 . 开头的目录的默认过滤。优点是零配置、立即生效;缺点是缺少灵活性。

方案 B:用户可配置忽略模式(推荐)

在设置中提供类似 .gitignore 风格的忽略模式配置项,例如:

# 用户自定义忽略的目录/文件模式
.github/
.git/
.vscode/
node_modules/

同时保留合理的内置默认值(dotfile 目录 + 常见缓存/环境目录)。

方案 C:复用项目 .gitignore

读取项目根目录的 .gitignore 文件,将其规则应用于改动面板的过滤。优点是与项目配置一致;缺点是 .gitignore 的语义(版本控制忽略)与改动面板的语义(展示过滤)不完全对齐,可能存在用户想看到 .gitignore 中忽略的文件改动的情况。

推荐:B + A 组合

内置默认忽略 dotfile 目录(方案 A),同时提供设置项让用户自定义追加或覆盖忽略模式(方案 B)。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions