Drift
Browse, edit, and manage remote files on WebDAV servers directly from VS Code.
Drift connects VS Code to WebDAV servers, presenting remote directories as native workspace folders. Open multiple servers, pick projects, and work with remote files using the standard VS Code explorer and editors — no syncing, no local clones.
Features
Server Management
- Multiple servers with Master / Test environment support
- Sidebar panel for adding, editing, connecting, and removing servers
- Secure credentials stored via the VS Code Secrets API
- Auto-reconnect on VS Code restart — your servers and projects are restored automatically
- Re-authentication — if your session expires (401), Drift prompts for your password and retries the operation
Project Workflow
- Servers expose top-level directories as projects
- Select projects from a searchable dropdown — each opens as a workspace folder named
ProjectName [ServerName · ENV]
- Status bar shows connected server count, open projects, and indexing progress
File Operations
- Open, edit, save, rename, copy, and delete remote files using the standard VS Code explorer
- Full
webdav:// file system provider with caching and stat deduplication for fast browsing
- Ctrl+P file search and Ctrl+Shift+F content search work natively
PHP Development
- PHP indexing — on project open, recursively downloads
.php files to a local cache and configures php.workspace.includePath for autocompletion
- API stubs — downloads server-level plugin API stubs automatically
- Create Action — right-click inside
plugins/actions to scaffold a new action with a PHP template (Dataset or SingleValue action types)
- Keycloak authentication — obtains OAuth2 tokens using your server credentials for platform API access
- Variable Editor — view, add, edit, reorder, and delete app variables in a dedicated webview panel without leaving VS Code
- Composer — check composer status, view install logs, and trigger
composer install directly from VS Code with live progress polling
Getting Started
- Open the Drift panel in the activity bar (look for the Drift icon).
- Click Add Server and fill in:
- Name — a friendly label
- URL — the base URL (e.g.
https://server.example.com)
- Environment — Master or Test
- Username / Password
- Drift tests the connection and lists available projects.
- Select projects from the dropdown to open them as workspace folders.
- Start editing files — changes are saved directly to the server.
Commands
All commands are available from the Command Palette (Ctrl+Shift+P):
| Command |
Description |
| Drift: Add Server |
Opens the sidebar to add a new server |
| Drift: Edit Server |
Opens the sidebar to edit a server |
| Drift: Remove Server |
Opens the sidebar to remove a server |
| Drift: Refresh Server |
Invalidates the file cache and refreshes the explorer |
| Drift: Reconnect Server |
Re-establishes connections to all saved servers |
| Drift: Create Action |
Scaffold a new PHP action (also available via right-click in plugins/actions) |
| Drift: Edit Variables |
Open the variable editor for a project |
| Drift: Composer |
Open the composer panel for a project |
| Drift: Show Keycloak Token |
Display and copy the current Keycloak token for a server |
| Menu Entry |
Where |
Description |
| Create Action |
Right-click inside plugins/actions in the explorer |
Prompts for action name and type, creates the folder and PHP file |
Variable Editor
Open with Drift: Edit Variables from the Command Palette.
- View all app variables in a table
- Add new variables with duplicate name validation
- Edit existing variables (rename + change value)
- Delete variables
- Reorder via drag-and-drop or up/down arrow buttons
- Ctrl+S to save — Drift re-fetches the latest app details before saving to avoid overwriting other data
- Unsaved changes indicator
Composer
Open with Drift: Composer from the Command Palette.
- View composer install status (installed / running / not installed)
- See last install timestamp and exit code
- View full stderr/stdout output logs with syntax coloring
- Install button triggers
composer install on the server
- Live polling — status updates every 3 seconds while install is running
Requirements
- VS Code 1.100.0 or later
- Desktop only (not supported in VS Code for the Web)
- The target server must support standard WebDAV methods (PROPFIND, GET, PUT, DELETE, MOVE, COPY)
Drift includes several optimizations for fast remote file browsing:
- Stat cache priming from PROPFIND directory listings (eliminates ~80% of HTTP requests)
- HTTP keep-alive with connection pooling (10 concurrent sockets)
- Request deduplication for concurrent stat calls to the same path
- Cache-first writes skip unnecessary stat checks on save
- Bounded concurrency for PHP indexing (10 parallel downloads)
- Non-blocking activation — VS Code starts instantly, server connections restore in the background
Known Limitations
- No real-time file watching — WebDAV does not support native file change notifications. Changes made outside VS Code require a manual refresh.
- Search on large projects — Ctrl+P and Ctrl+Shift+F work via the file system provider but may be slower on large projects since files are fetched over HTTP.
License
MIT
| |