Waystation — Flow-driven code notes for VS Code
Waystation helps you capture, organize, and navigate small code snippets and matching notes as "flows" inside VS Code. It's designed for rapid context switches, knowledge capture, and exploratory workflows when you want to record decisions, examples, and one-off investigations alongside your codebase.
Features
- Capture matches: add selected code or text into named flows with an optional note.
- Organize flows: create, rename, and delete flows to group related matches.
- Quick navigation: open saved matches in the editor or preview them as markdown.
- Notebook integration: render flows as notebooks for richer sharing and export.
- Developer-focused UX: code lenses, hover providers, and commands to streamline capture.
Screenshots and animated GIFs help users learn quickly — include them in media/
and reference here, e.g. media/preview.gif
.
Install
- Install from the Visual Studio Marketplace: search for "Waystation".
- Or install the VSIX from the Releases page in this repository.
Minimum tested VS Code: 1.70+. The extension is built with TypeScript and runs entirely inside the editor; no external services are required.
Quick Start
- Open a project in VS Code.
- Select code you want to save as a match, open the Command Palette (Cmd+Shift+P / Ctrl+Shift+P) and run
Waystation: Add selected text to a flow
.
- Create or choose an existing flow, add an optional note, and save.
- Use the Waystation tree view to browse flows and open matches.
Common commands (use the Command Palette):
Waystation: Add selected text to a flow
Waystation: Create new flow
Waystation: Rename flow
Waystation: Delete flow
Waystation: Preview flow as notebook
Waystation: Open flow match
You can also use the UI tree provided by the extension to interact with flows and matches.
Extension Settings
This extension contributes the following settings (defaults shown):
waystation.autoPreview
(boolean, default: false) — automatically open a quick preview after adding a match.
waystation.defaultFlow
(string, default: "") — the name of a flow to preselect when adding matches.
Add any other contributed settings here as you expand the extension.
Contributing
Contributions are welcome. If you want to add features or fix bugs:
- Fork the repo and create a feature branch.
- Run
npm install
.
- Use
npm run watch
to start the development build and press F5 in VS Code to run the extension in a Extension Development Host window.
- Add tests under
src/test
and run them with the test runner configured in the repo.
See TESTING_GUIDE.md
and IMPLEMENTATION_SUMMARY.md
for details about the project structure and test strategy.
Known issues
- This is an early release: expect small UI polish issues and edge cases when importing large notebooks.
- If you run into problems, please open an issue with steps to reproduce and relevant logs.
Release Notes
1.1.0
- Improve notebook rendering and add preview actions.
1.0.0
- Initial public release: capture and organize matches into flows, preview as notebooks, basic tree UI.
Troubleshooting
- If the extension doesn't appear in the Activity Bar, open the Command Palette and run
Developer: Reload Window
.
- If matches aren't saving, check for errors in the
Developer Tools
console (Help > Toggle Developer Tools) and include the error text when filing an issue.
License
This project is released under the MIT License. See LICENSE
for details.
Support
Open issues on the repository or contact the maintainer via the repo profile.
Thank you for trying Waystation — contributions and feedback are appreciated.