Project Management

Git Changes as a Folder Tree

A toggle next to the filter box switches the Changes list between the flat list and a VS Code style folder tree, and your choice sticks for next time. Each directory row carries its own checkbox that stages or unstages everything beneath it, and shows a dash when only part of that folder is staged.

Git Changes as a Folder Tree

Why You Need This

How this feature boosts your daily productivity

Agents produce wide, shallow diffs. A change touching four directories and eighteen files is ordinary now, and a flat list turns that into eighteen rows of near-identical paths you have to read character by character to tell apart. The tree groups them the way you already think about the repo — this is the database adapter work, that is the git client work — so you can triage by area instead of by filename. Per-folder staging follows from that: once you can see an area, staging the whole area should be one click rather than eighteen. The tri-state dash matters more than it sounds, because partial staging is easy to create by accident and nearly invisible in a flat list; a folder that is neither on nor off tells you at the directory level that something inside it is only half committed. The flat list is untouched and still shows the full path on every row, for when the change set is small enough that grouping is just an extra click.

How It Works

Get started in 4 simple steps

1
1

Open Git Client → Changes

The Changes list is the working-tree view you stage and commit from.

2
2

Flip the toggle beside the filter box

Two small buttons switch between the flat list and the folder tree. Your choice is remembered the next time you open the dialog.

3
3

Stage by folder

Every directory row has its own checkbox that stages or unstages everything beneath it in one click.

4
4

Read the dash

A folder checkbox shows a dash when only part of that folder is staged, so partial staging is visible at the directory level.

5
5

Collapse or expand the lot

Collapse all and expand all handle a change set spanning many directories. The flat list is still there, still showing full paths.

Without 1DevTool

The manual way vs. the 1DevTool way

The Hard Way

# 18 changed files across 4 directories
# a flat list of near-identical paths
# read each one character by character
# tick 6 boxes to stage the adapter work
# is anything half-staged? no way to tell

The 1DevTool Way

Toggle the Changes list to folder tree
src/main/database/adapters 1
src/renderer/components 10
One folder checkbox stages the area
A dash means partially staged

Key Capabilities

Everything included with Git Changes as a Folder Tree

Switch the Changes list between a flat list and a folder tree
Keep your choice for the next time you open the dialog
Stage or unstage a whole directory with one checkbox
Spot partial staging from a folder’s tri-state dash
Collapse or expand every directory at once
Fit a wide, shallow agent diff on screen by area
Fall back to the flat list, still showing the full path per row

Why It Matters

The productivity impact of having project management built into your workspace

Wide Agent Diffs Fit On Screen

Eighteen files across four directories group into a handful of rows you can read by area instead of by filename.

Staging An Area Is One Click

A folder checkbox stages everything beneath it, so reviewing by area and staging by area are the same gesture.

Partial Staging Becomes Visible

The tri-state dash surfaces a half-staged folder at the directory level, where a flat list would hide it among identical-looking rows.

The Flat List Is Still There

Your choice sticks per dialog, and small change sets can stay in the view that shows the full path on every row.

Ready to boost your workflow?

Download 1DevTool for free and experience Git Changes as a Folder Tree along with 294 other features — all in one app.