File Explorer
Browse the Workspace tree: open files, create/rename/delete, multi-select, bulk-delete, copy paths, and run in-tree Git actions from the right-click menu.
Overview
The file explorer shows the Workspace root as a navigable tree. Selecting a file opens it in the code editor; folders expand and collapse in place. All operations are performed by the local Agent against your real filesystem — there is no sandbox copy.
NetStacks stores its per-Workspace state under a hidden .netstacks/ directory at the Workspace root (for example .netstacks/workspace.json and .netstacks/screenshots). When you open a Workspace, NetStacks adds .netstacks/ to the project's .gitignore automatically (creating the file if needed) so this state is never committed.
Navigating the Tree
Click a folder to expand or collapse it; click a file to open it in an editor tab. The tree stays scoped to the Workspace root, so you always have a stable project view while you work across device sessions.
The tree is lazy-loaded: a folder's contents are read by the Agent the first time you expand it, so opening a large repository stays fast. Files tracked by Git show their status badge (for example M for modified, D for deleted) inline next to the name when the Workspace is a Git repository.
Right-Click Context Menu
Right-click any file, folder, or empty space in the tree to open the context menu. The available items depend on whether you clicked a file or a folder and whether the Workspace is a Git repository. A typical right-click on a modified, tracked file in a Git repo shows:
Open (files only)
──────────────
Stage Changes (or "Unstage Changes" if already staged)
Revert Changes
View Diff
Blame
──────────────
New File
New Folder
Rename
Delete
──────────────
Copy Path
Copy Relative PathThe full set of actions:
- Open
- Opens the file in the code editor (shown for files only).
- New File / New Folder
- Creates a new entry in the clicked folder (or the parent of the clicked file) with an inline-editable name.
- Rename
- Renames the file or folder in place.
- Delete
- Removes the file or folder after a confirmation prompt.
- Copy Path
- Copies the entry's absolute filesystem path to the clipboard.
- Copy Relative Path
- Copies the path relative to the Workspace root (for example
src/main.py). - Stage Changes / Unstage Changes
- Stages or unstages a changed, tracked file. Shown only in Git repositories when the file has changes. On a folder the action is Stage All in Folder.
- Revert Changes
- Discards working-tree changes for a changed file (Git repositories only).
- View Diff
- Opens the file's diff against the index/HEAD (Git repositories only).
- Blame
- Opens line-by-line authorship for the file (Git repositories only).
Git actions appear only when the Workspace root is a Git repository. See Git for the full diff, blame, stage, and commit workflow.
Managing Files & Folders
- New File — create an empty file with an inline name editor in the selected folder.
- New Folder — add a new directory anywhere in the tree.
- Rename — rename files and folders in place; the inline editor preselects the base name (everything before the extension) so you can retype it quickly.
- Delete — remove a file or folder after confirmation; see bulk delete below for removing many at once.
- Copy Path / Copy Relative Path — put the absolute or Workspace-relative path on the clipboard, handy for pasting into the terminal or chat.
When a Workspace is opened, NetStacks resets its .netstacks/screenshots directory so pasted images from a previous session don't accumulate. Because .netstacks/ is auto-gitignored, these files never show up as Git changes. See Image Paste.
Multi-Select & Bulk Delete
Select multiple entries to act on them together:
- Toggle — hold the platform modifier (
Ctrlon Windows/Linux,Cmdon macOS) and click to add or remove individual items from the selection. - Range — click one entry, then
Shift-click another to select the contiguous block of visible rows between them. - Plain click — selects a single entry and clears any previous selection.
With two or more items selected, right-click and choose Delete N Items, or press Delete / Backspace, to remove every selected file and folder in one operation. Clicking empty space in the tree clears the selection.
Bulk delete operates on real files in the Workspace and is confirmed once for the whole batch. Confirm the selection before deleting — deletions are not undone by NetStacks. If the Workspace is a Git repository, use your Git history to recover tracked files.
Keyboard Shortcuts
These shortcuts apply when the focus is on the file tree (not in a text input):
| Key | Action |
|---|---|
Delete / Backspace | Delete the selected item; if multiple items are selected it triggers a bulk delete. Both prompt for confirmation. |
Space | On macOS, open a Quick Look preview of the selected file. Ignored on other platforms. |
Ctrl/Cmd + click | Toggle an item in the multi-selection. |
Shift + click | Select the range of visible rows from the last click to the clicked row. |
Quick Look (Space) is a macOS-only OS feature; on Windows and Linux the key press is simply ignored.
Q&A
- Q: Can I recover a bulk-deleted file?
- A: Not from NetStacks itself. If the Workspace is a Git repository, recover it from Git; otherwise rely on your own backups or OS-level trash.
- Q: Does the explorer follow files outside the Workspace?
- A: No. The tree is scoped to the Workspace root. Open a different directory as a Workspace to work elsewhere.
- Q: Why do I see a hidden
.netstacksfolder? - A: NetStacks stores per-Workspace state (such as
workspace.jsonand thescreenshotsdirectory) under.netstacks/. It is added to.gitignoreautomatically so it never gets committed. - Q: Why don't I see Stage, Diff, or Blame in the menu?
- A: Those Git actions only appear when the Workspace root is a Git repository. Stage/Revert additionally require the file to have uncommitted changes.
- Q: How do I copy a file's path for the terminal?
- A: Right-click and choose Copy Path for the absolute path or Copy Relative Path for the path relative to the Workspace root.
Related Features
- Code Editor — edit the files you open from the tree.
- Git — diff, blame, stage, revert, and recover Workspace files.
- Image Paste — how pasted screenshots are stored under
.netstacks/screenshots. - Workspace Overview — how the Workspace root, Agent, and device sessions fit together.