Skip to content

Instantly share code, notes, and snippets.

@gistlyn
Last active August 30, 2016 19:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gistlyn/1576fda8eea87abbe94fa8051b4fed34 to your computer and use it in GitHub Desktop.
Save gistlyn/1576fda8eea87abbe94fa8051b4fed34 to your computer and use it in GitHub Desktop.
Snapshots

Gistlyn Snapshots

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.

Capturing a Snapshot

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:

Loading a 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.

Snapshots only save clients state

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.


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment