A nice feature we can provide in Gistlyn thanks to it being a light web-based IDE, is Snapshots.
Snapshots lets you save the entire client state of your current workspace (excluding your login info) and generates a url which you can use to either revert back to the snapshot yourself or send to someone else so they can load your entire workspace and start working from the point when the snapshot was taken.
As snapshots are saved to your gists, you need to first sign-in to take a snapshot. After you're authenticated you can click on the camera icon that appears in the footer to take a snapshot:
A snapshot is taken the moment you click on the snapshot icon which is why the snapshot dialog isn't
included in the snapshot. Another way to take a snapshot is with the Alt+s
keyboard shortcut, which is
useful when you want to include an open dialog window in the snapshot.
This will open the Snapshot Dialog where you can enter the name of the Snapshot. By default it's automatically populated with the timestamp of when the Snapshot was taken:
Clicking Save Snapshot will serialize your captured snapshot and save it into a snapshot.json
document
in a new private gist to your Github account. Gistlyn appends the id of the newly created Gist containing the
snapshot and appends it to the ?snapshot
query string to generate the url for the snapshot:
There are 2 ways to load a snapshot, either clicking on the generated url to launch it in a browser:
This will load a new Gistlyn session initialized with the snapshot, complete with the contents of all working files, the state of the preview window, any console logs, etc:
The alternative is to paste the id for the Gist into Gistlyn's URL bar:
Incidentally you can paste the id of a C# Gist, Markdown Collection or Snapshot into the URL bar and Gistlyn will load it correctly.
Which will replace your current workspace with that contained in the snapshot.
One thing to remember about snapshots is that they only save your client state, i.e. you wont have access to the Users live running server session who created the snapshot which means you wont be able to preview different variables or evaluate a different C# expressions but you can just re-run the Gist to execute it and create a new Server Session which you can then inspect.