Every SFTP feature in IntelliJ's Big Data Tools, plus the SSH configuration it depends on, numbered in the order Heimdall builds them: the provider first, because it retires the risk; the file manager second, because it is what people use all day; sudo and the polish third, because they depend on servers nobody has seen yet. Each square is a feature. Hover one to read it; click it to find it in the list.
Slice 1 · the providerthe MVP: connections, the file system, the tree, the editor
1Project connections in .vscode/sftp.json, validated by a schemaPlatform & storage
2Connection: name, host, port, user, root path, with Test ConnectionConnections & auth
3OpenSSH config and agent auth: Host aliases, IdentityFile and ProxyJump read from ~/.ssh/configConnections & auth
4Key pair auth with passphrase and password auth; secrets in the OS keychain, never in the fileConnections & auth
5Host key checking: strict, accept-new, ask, off; fingerprint prompt on first connect; a changed key is refusedConnections & auth
6sftp:// file system provider: open, edit, save back in place, dirty state, revertFiles & editing
7Heimdall view: one node per connection, directories under the root pathTree & navigation
8Connection state on the node: idle, connecting, connected, error with the messageConnections & auth
9Refresh a folder or a whole connection; reconnect when the session droppedTree & navigation
10Save conflict: mtime check on save, then Show Diff, Overwrite or ReloadFiles & editing
11Connection editor: a form over sftp.json, never JSON by handConnections & auth
12Import connections from the ssh config VS Code uses (remote.SSH.configFile), one or many at a timeConnections & auth
13Open in Terminal: an ssh session to the host, cd to the folderTree & navigation
Slice 2 · the file managertransfers, menus, conflict tools
14Show Diff with Server in the editor toolbarBefore 1.0Files & editing
15Reload from Server and Revert in the editor toolbarBefore 1.0Files & editing
16Upload from disk… and Download to… with file dialogs, for people who don't dragBefore 1.0Transfers
17Transfers panel: queue, bytes, rate, cancel, retry, clear finishedBefore 1.0Transfers
18Directory upload and download, walked first so the total is known before the first byteBefore 1.0Transfers
19Upload by drag from the Explorer or the OS onto a folder, with a destination confirmBefore 1.0Transfers
20Download to a local folder from the context menu, and by drag onto the ExplorerBefore 1.0Transfers
21Drag within a connection moves; drag across connections or from the project copiesBefore 1.0Tree & navigation
22Context menu: New File, New Folder, Rename, Delete, Copy Path, Download, Upload here…Before 1.0Tree & navigation
23Delete confirms with the full path and entry count, then deletes for realBefore 1.0Tree & navigation
24Inline actions on hover: Upload, Download, Refresh, NewBefore 1.0Tree & navigation
25Navigate to File (⌘F): type a path, Tab completes from the serverBefore 1.0Tree & navigation
26Copy to… and Move to… pickers across connectionsBefore 1.0Tree & navigation
27Reveal in tree: locate the open editor's fileBefore 1.0Tree & navigation
28Add as Workspace Folder: mount sftp://conn/ in the Explorer for search and Go to FileBefore 1.0Tree & navigation
29Find in Files, Go to File and Source Control over a mounted connection (VS Code, through the provider)VS Code has itFiles & editing
30User-level connections in a setting, available in every windowBefore 1.0Platform & storage
31Hand edits to sftp.json are picked up live; mistakes get a squiggle from the schemaBefore 1.0Platform & storage
32Keep-alive interval and idle disconnect, per connectionBefore 1.0Connections & auth
33Enable or disable a connection without deleting it; the node greys outBefore 1.0Connections & auth
Slice 3 · sudo and polishserver-specific; sudo is off by default until proven
34Sudo on demand: permission denied offers a retry through sudo sftp-serverBefore 1.0Sudo & permissions
35Sudo modes: off, ask, always; custom command for the sftp-server pathBefore 1.0Sudo & permissions
36Shield on paths that went through sudo; the sudo password in the keychainBefore 1.0Sudo & permissions
37Permissions: chmod and chown from the context menu (Properties)Before 1.0Files & editing
38Properties (Show Info): size, owner, mode, mtime and link targetBefore 1.0Folder table & previews
39Large file guard: over a threshold, offer Download, Tail or Open AnywayBefore 1.0Files & editing
40Changed-on-server badge on open files, polled while the window is focusedBefore 1.0Files & editing
41Partial uploads write name.part and rename on completion; the queue resumes after a reloadBefore 1.0Transfers
42Status bar item: active connection and transfer countBefore 1.0Platform & storage
43Linters, formatters and language servers run on remote files (through the provider)VS Code has itFiles & editing
44Images, PDFs and other binaries open in VS Code's own viewers (through the provider)VS Code has itFiles & editing
1.0
After 1.0follows without holding 1.0 up
45Rename and duplicate a connection from the form; Undo on removeAfter 1.0Connections & auth
46Detect the SFTP sync extension's sftp.json and offer to import it as a connectionAfter 1.0Platform & storage
47Concurrency per connection and chunk size as settingsAfter 1.0Transfers
48Folder as a table (Open in Editor): sortable columns, Show and hide columns, file infoAfter 1.0Folder table & previews
49Structured previews: CSV through Rainbow CSV, Parquet through parquet-viewer (through the provider)VS Code has itFolder table & previews
50Find in Folder over SFTP: grep through exec when the host has itAfter 1.0Files & editing
51IntelliJ importer: .idea/bigDataTools.xml and sshConfigs.xmlAfter 1.0Platform & storage
52HTTP or SOCKS proxy and a jump host set in the form, not only from ssh configAfter 1.0Connections & auth
53Sync a local folder to a remote one, one way, with an ignore listAfter 1.0Transfers
Outside the barVS Code has it, or IntelliJ only
54Run the whole window on the host: Remote Development does thisVS Code has itPlatform & storage
55Keys from 1Password or gopass: they provide an ssh agent and we use itVS Code has itPlatform & storage
56S3, GCS, Azure, HDFS and the other ten storage typesNot plannedPlatform & storage
57Zeppelin notebooksNot plannedFolder table & previews
58File versions (bucket versioning)Not plannedFolder table & previews
59Copy a row or a column out of a previewed tableNot plannedFolder table & previews
The order is the order the features are built in, chosen so that the riskiest code runs earliest and the most server-specific code runs last. The 1.0 seam is where the workflow is complete. The last tier is outside the bar on purpose: S3, HDFS and the other ten storage types are the Big Data half of Big Data Tools and a different extension if they are anything. If there is an SFTP habit you reach for every week that is missing or in the wrong place, open an issue and say what it is for.