Skip to content
Home
Docs/File Explorer

File Explorer

Free

Real-time file tree VS Code style, optimized for mobile: multi-select, clipboard, content search, Git integration and automatic refresh when the AI modifies the project.

File tree

  • Lazy loading by level: only the folders you open are read from disk
  • VS Code-style compact folder grouping: chains like src/main/java collapse into a single row
  • Virtual flattening — only visible rows are rendered
  • Smooth spring-damped animations when creating, deleting or reordering files
  • Expansion state persists during the session
  • Active file indicator: highlighted background and primary-colored name

Icons & colors

The explorer uses DevIcons to display the real language or framework icon (TypeScript, Python, Rust, React, Vue…). Folders with known names get VS Code-style semantic colors:

src/
test/
build/
res/
lib/
docs/
java/
kotlin/
python/
.git/
ui/
components/
model/
util/
di/
navigation/
features/
api/

File operations

Create

2-step sheet with destination folder picker and quick templates

Rename

Inline validation; updates paths of expanded child folders

Duplicate

Generates a unique name (file_copy1.kt) — works on files and folders

Delete

Confirmation with error icon; folders are deleted recursively

Copy path

Absolute path to the system clipboard

Reveal active file

Expands ancestors and animated scroll to the row

Quick file templates

The create sheet includes a template gallery to create files with default name and a single tap:

NewFile.kt
NewFile.java
layout.xml
data.json
index.html
styles.css
script.js
README.md
notes.txt

Cut, copy & paste

  • Internal clipboard supporting multiple files at once
  • Cut files are shown at 45% opacity while pending move
  • Paste into any folder from the context menu
  • If you paste a copy with a duplicate name, it auto-generates: name (1).ext, name (2).ext…
  • Destination folder picker accessible from the header when there is clipboard content

Multi-select

Long-press on any row activates multi-select mode (with optional haptic feedback). Each node shows a checkbox and the header is replaced by a context bar:

Select all

Marks all visible nodes

Cut

Marks the selection for moving

Copy

Marks the selection for duplication

Batch delete

Deletes each path and reports successes/failures separately

Search

Search by name

Header-integrated bar (animated expandable). Recursive case-insensitive filtering in real time, showing the parent path on the right.

Find in folder (content)

Bottom sheet that searches text inside file contents. Active from 2 characters, skips binaries and files over 2 MB, max 200 results. Each result shows file, line and context.

Dotfiles (.gitignore, .env, .idea…) are hidden by default, with a toggle in the ⋮ menu. Directories like node_modules, .git, .gradle, build and __pycache__ are always excluded.

Sorting

Name A→Z

Ascending alphabetical (default)

Name Z→A

Descending alphabetical

Type

Grouped by extension, then by name

Size

By file size

Folders always appear before files at the same level, regardless of the chosen sort mode.

Git integration

Every file and folder displays a badge with its Git status, propagated upward in the tree with priority (conflict > modified > deleted > added).

MModified
AAdded
DDeleted
UUntracked
RRenamed
!Conflicted
IIgnored

After every save, the explorer refreshes the Git status automatically. The file name also changes color when it has changes.

Auto-refresh

  • The tree updates by itself when a file is created, modified, deleted or renamed — including changes made by the AI agent
  • Filters events by active project and reloads both directories on renames
  • Manual refresh from the header with animated spinner
  • Save events trigger a full Git status refresh

Performance

  • Stable keys (file.path) to reuse rendered rows
  • Disk IO always in background (create, delete, rename, duplicate, search)
  • Automatic filter of files > 2 MB in content search
  • Flattened tree only recomputes when relevant state changes