Skip to content

AD-23 Add per-file-type icons in Explorer #34

@Finfinder

Description

@Finfinder

Objective

Replace the single generic file icon in the Explorer tree with per-extension file type icons (e.g. .json, .ts, .md, .py, .yaml, .js, .tsx, .jsx, .css, .html, .ps1, .cs, .sln, .code-workspace).

Context

The Explorer currently shows a folder icon (correct) and one shared icon for all file types. This makes it harder to distinguish files at a glance and reduces the visual polish of the application.

Scope

  • Design and integrate a file-icon mapping that covers common extensions used in the workspace: .ts, .tsx, .js, .jsx, .json, .md, .py, .yaml, .yml, .css, .scss, .html, .ps1, .cs, .sln, .code-workspace, .env, .gitignore, .toml, .lock.
  • Reuse or adapt the existing icon set (e.g. file-icons, vscode-icons, or Codicon) to keep the visual style consistent with the dark theme.
  • Ensure the icon component resolves the correct icon from the file extension, with a sensible fallback for unknown types.
  • Add unit tests for the icon-resolution logic.
  • Keep the existing folder icon unchanged.

Rationale

Per-type file icons are a standard IDE feature that significantly improves navigation speed and the overall aesthetic quality of the Explorer.

Benefits

  • Faster visual identification of file types in the tree.
  • Improved aesthetic quality and a more professional look.
  • Consistent with user expectations from VS Code and other IDEs.

Definition of Done

  • Explorer shows distinct icons for at least the listed file extensions.
  • Unknown file types fall back to a generic icon.
  • Folder icons remain unchanged.
  • Unit tests cover the icon-resolution mapping.

Milestone

1.0 Stabilize MVP

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority:mediumMedium priority issue.roadmapTopic roadmap or larger direction of work.uiUI/UX improvements and visual refinements.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions