- Open VS Code
- Press
F5to run extension in development mode - New "Extension Development Host" window opens
- Look for "$(pulse) Keep Alive: Inactive" in bottom status bar
- Click it to toggle (should show warning about no configuration)
Press Cmd+Shift+P and verify these commands exist:
Keep Alive: Configure Files and IntervalKeep Alive: StartKeep Alive: StopKeep Alive: Toggle Status
- Connect to remote server via VS Code Remote-SSH
- Open some files from the remote server
- Run "Keep Alive: Configure Files and Interval"
- Select the remote files and set interval (e.g., 3 seconds)
- Run "Keep Alive: Start"
- Watch the status bar turn green
- Open "Output" panel → Select "Tab Keep Alive" channel
- You should see refresh logs every 3 seconds
Create Mock Remote Files for Testing:
- Open VS Code
- Press
Cmd+Shift+P→ "Developer: Reload Window" - In the Extension Development Host, open the integrated terminal
- Create a test file with a non-file scheme:
# Create a test workspace
mkdir /tmp/test-keep-alive
cd /tmp/test-keep-alive
echo "Test content" > test.txt- In VS Code, open the folder:
/tmp/test-keep-alive - The extension will treat any non-
file://scheme as "remote"
- Run "Keep Alive: Configure Files and Interval"
- Should show list of remote files
- Select files and set interval
- Should show success message
- Run "Keep Alive: Start"
- Status bar should turn green: "Keep Alive: Active"
- Check Output panel for logs
- Run "Keep Alive: Stop"
- Status bar should return to white: "Keep Alive: Inactive"
- Click status bar item
- Should toggle between start/stop
- Status should update accordingly
- Configure with non-existent files
- Start the extension
- Should show error state after 3 failed attempts
- Status bar should turn red: "Keep Alive: Error"
- Open View → Output
- Select "Tab Keep Alive" from dropdown
- Verify detailed logging:
- Configuration events
- Start/stop events
- Refresh attempts
- Error messages
- 🟢 Green "Active" = Working correctly
- ⚪ White "Inactive" = Stopped/not running
- 🔴 Red "Error" = Failed multiple times
[2025-01-03 20:07:45] Starting Keep Alive
[2025-01-03 20:07:45] Configured URIs: ssh://server/file.txt
[2025-01-03 20:07:48] Refreshed: ssh://server/file.txt
[2025-01-03 20:07:51] Refreshed: ssh://server/file.txt
- Settings are stored globally in VS Code
- Check: VS Code → Preferences → Settings → Search "Keep Alive"
- Should show configured files and interval
- Extension only works with non-local files
- Connect to SSH, WSL, or Dev Container first
- Or use VS Code Remote extensions
- Check VS Code Developer Console: Help → Toggle Developer Tools
- Look for any error messages
- Ensure you pressed F5 from the extension project
- Reload the Extension Development Host window
- Check package.json contributes.commands section
- Verify extension activated (check status bar)
- Extension might not be activated
- Try running any Keep Alive command to trigger activation
- Check if status bar is hidden: View → Appearance → Status Bar
- Configure extension with files
- Start/stop multiple times rapidly
- Should not crash or show memory issues
- Set very short interval (1 second)
- Start extension
- Rapidly start/stop multiple times
- Should handle gracefully without overlap
- Start with valid files
- Disconnect from remote
- Wait for 3 failed attempts
- Reconnect to remote
- Restart extension - should work again
✅ Extension loads without errors ✅ All 4 commands appear in command palette ✅ Status bar shows and updates correctly ✅ Configuration UI works properly ✅ Start/stop functionality works ✅ Logging appears in output panel ✅ Error handling works (red status after failures) ✅ Memory management (no leaks with rapid start/stop) ✅ Race condition protection (no overlapping operations)
If all tests pass, your Keep Alive extension is working perfectly and ready for use!