FileShift

pending

by Qctsu

Reorder files and folders in File Explorer with drag and drop. No filename changes.

1 starsUpdated 10d agoMITDiscovered via Obsidian Unofficial Plugins
View on GitHub

FileShift

Reorder files and folders in Obsidian's File Explorer using drag and drop. No filename prefixes, no hacks — just drag items where you want them.

demo

Features

  • Drag & drop files and folders to reorder them within the same parent
  • Persistent order — survives restarts, saved in plugin data
  • Toggle on/off via ribbon icon or command palette
  • Works with virtual scroll — uses Obsidian's internal vChildren API for reliable rendering
  • Zero file modifications — order is stored in plugin config, not in filenames

Installation

Via BRAT (recommended)

  1. Install BRAT plugin
  2. Add this repo: Qctsu/obsidian-file-shift
  3. Enable "FileShift" in Community Plugins

Manual

  1. Download main.js, manifest.json, and styles.css from the latest release
  2. Create folder .obsidian/plugins/file-shift/ in your vault
  3. Copy the files there
  4. Enable "FileShift" in Community Plugins settings

Usage

  1. Click the ↕ ribbon icon (or use command palette: "Toggle custom ordering on/off")
  2. Drag files/folders to reorder them
  3. Drop indicator shows above/below target position
  4. Order persists automatically

Commands

CommandDescription
Toggle custom ordering on/offEnable/disable FileShift
Reset all custom orderingClear all saved orders, revert to default sort

How it works

When active, the plugin:

  • Intercepts drag events in the file explorer (capture phase)
  • Blocks Obsidian's native drag-to-move-into-folder behavior for sibling reordering
  • Uses Obsidian's vChildren.setChildren() API + InfinityScroll invalidation for reliable DOM updates
  • Stores order per-folder in data.json

Compatibility

  • Obsidian 1.7.2+ (uses vChildren / InfinityScroll APIs)
  • Desktop only (tested on Windows, should work on macOS/Linux)

License

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.