Loading user information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading user information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Auto History Extension

16 minutes, 8 seconds


Right click “Save as…”

We are back in our regular studio for this episode, in which Robert is joined by Mark Wilson-Thomas. Mark shows us the Auto History Extension Preview. This Visual Studio extension gives you automatic, no-configuration history tracking for your local machine. It silently and efficiently tracks the changes you make to any files that you have opened in the Visual Studio Editor. This gives you the ability to roll back changes you made to code in between source control check-ins.

Download the extension from the Visual Studio Gallery and let us know what you think.


Follow the discussion

  • Oops, something didn't work.

    Getting subscription
    Subscribe to this conversation
  • JayJayshu01 happy coding

    Awesome extension, exactly what I have been looking for.

    Question. Is it possible to take snapshot for the .proj files. 


  • This is absolutely one of the best extensions ever made , brilliant idea

  • Thanks for the kind words folks! At present we don't snapshot .proj files, just files that you have open in the editor.  How valuable would it be to you to include other artifacts of the project such as .proj files in our snapshotting?


  • We are currently having some users encountering install problems with installing the extension. We're working on a solution, and will post here when we have it loaded on the Gallery.

    Sorry for the inconvenience


  • Titti SkariaTitti Skaria

    Awesome Extension..Is this available for VS 2012 ?


  • It's possible that I missed this, but how often are snapshots taken? Is that every manual + autosave operation?

    Also, I've to admit that I find the tool window a bit too bulky.

  • Hi @Titti Skaria: we haven't yet made the extension available for Visual Studio 2012. We'll consider it for a future iteration of the extension; others please let us know if this would make the difference between you being able to try the extension or not.

    @Terrajobst, the snapshots are taken on Saves, Opens, when the user presses the Take Snapshot button, and also automatically every 5 minutes (which I mention briefly in the video). I'd be interested to hear any feedback about how we might improve the UI too.



  • Hi Everyone

    I have just updated the Gallery version to 1.1. V1.1 Fixes the issue with installation and load caused by strong name validation problems which folks have been seeing. Please try it and let us know how you get on!

    Thanks and sorry for the delay!

  • Cool, thanks for the update!


  • Daniel ErikssonDaniel Eriksson

    This feature has been available in IntelliJ (and all editors based on it, f.e. PyCharm that I use myself) for a very long time. It keeps a history of ALL files, including the project files, and I've used it to roll back project files several times when I've made changes to the build process or changed some settings. I think it would be useful to snapshot all files in VS, including local user settings (.suo, .user, ...).

  • pm100pm100

    vs2012 would be great

  • Mark HarbyMark Harby

    Hi, awesome potential with this extension. Can finally turn off the annoying and forever buggy Auto Save.
    How does this extension handle changes to the xaml maintained by Entiy Framework ?

    Nottingham. UK

  • Hello @Mark Harby

    The extension currently only tracks and snapshots files which are edited via the Visual Studio Editor. If an automated code generator uses the editor to do its work, then the edits will be snapshotted, otherwise they will not at present. I'd be interested to hear from users how important capturing snapshots for files like this is in terms of the usefulness of the extension to you.

    Hi @pm100: we are considering whether to provide a version of this extension that supports Visual Studio 2012 as well as 2013. We'll keep you posted.

    Thanks to all for your continued feedback!


  • Good stuff

    I think you may need to take another look at the UI layout. If I dock it against the side of the VS window (as you have it in the video) then it takes up a large portion of the screen - if I shrink it down to a reasonable size the snapshot name boxes disappear. If I dock it against the bottom of the window (again, sized so it doesn't hog my screen real estate) then the ticks on the history timeline become almost invisible.

  • Hi John

    We imagined that the extension would be completely hidden most of the time, and only used/viewed when the developer wanted to roll back - so we were thinking that a side-docked tabbed view would be a common usage pattern, hence the layout we chose. Do you think you'd want it always-visible?



  • Hi Mark

    No, not exactly. Basically, because of my need to move between multiple contexts at once (for example, different projects), I keep a pane docked at the right hand side of my Visual Studio window. That's always open, and has the Solution Explorer, Team Explorer, Properties window etc in a tabbed arrangement. See http://blogs.msdn.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-92/1854.Visual-Studio-11-Beta-Full.png

    Along the bottom of my VS window, I typically have things like the output pane and Error List, again in an always visible tabbed pane docked against the VS window. When they are pinned like this, I generally try and size the window so it doesn't steal my screen real estate.

    Depending on what I am doing, I will sometimes collapse these panes or close them altogether. However, even when I do that, I often want to see both the code and that pane at the same time, for example, I am comparing what I see in the code against something in Properties, or I am looking at an error in the error list and trying to locate the offending line in the code. Clearly, in that situation I will still want to size those panes so they don't hog the screen.

    I also don't want to have to dock AutoHistory differently to how I treat other windows. I like to treat things the same where possible.

  • Actually, Mark, I realised I didn't 100% answer your question. The above comment describes how I use Visual Studio's ability to dock tool windows (which answers part of your question - whether I'd want it always visible) but the other part (whether a side-docked approach works) wasn't answered.

    To answer that, yes I think a side-docked arrangement does work, but you have to be very careful about using horizontal space because you're effectively in a thin vertical strip down the side, and currently I think it uses more horizontal space than is strictly necessary (meaning that I have to allow that strip to be wider than I'd like).

    I understand that this is still WIP, and the UI isn't final :), but I thought it was worth giving the feedback anyway.


  • Mark,

    Love the extension, something to be thoughtful of is that some of us still doc these windows on the left side and visually it looks almost backwards when I do that, IMO. love the functionality, and this is really a very minor issue, but thought I would mention it.

    Also I would love to have the ability to capture proj file diffs and to be able to restore a snapshot. As you mention in the video, this does approach source control functionality, so it may not be where you want to take this. One note about storing proj file diffs, is that without the restore functionality it may hurt more people that help them, I have seen countless people mess up proj files when try to hand edit them.

  • Hi @JohnLudlow and @Ibrody

    This is very useful feedback and all helps us to think about the future of this feature's design. It is definitely worth continuing the feedback, that's a big part of why we wanted to ship this preview so please keep it coming :D , UI, interaction, functionality - whatever will help make this idea more useful and useable in your daily work. Your comments on layout are definitely noted and we will give them some thought.

    @Ibrody, the snapshot restore including proj file diffs suggestion is a good one. If we had a "restore to this point in time across the whole project" we would certainly need to consider that. We are thinking about how best to weave this feature together with Source Code Control and would be interested to hear from folks where they would be interested to see it go. The most basic thought we have is around making snapshots stamped with any checkin changelists, but there's clearly more we could do.



  • Glad I could help :)

    I'll continue to play with the extension and will post back if I feel I have something more you might find useful.


  • Deep-ThoughtGlynP Ye Olde Programmer

    If this could sync my AutoHistory between my development machines using my OneDrive account I would be a very happy little developer :)

  • @MarkWT  :  it would be awesome if it gives me an option to view history in context menu

  • Hi @GlynP: we've talked about the possibility of a roaming feature. It does present some challenges in terms of ensuring that the roaming is appropriately constrained (to avoid accidental Intellectual Property leaks in corporate scenarios for instance), and more significantly in terms of managing merge conflicts.  It could become quite confusing to use under these circumstances.

    @syyad - do you mean the capability to right click on a file listed in the file list of Auto History's window and see a listing of all snapshots that made changes to that file, with the ability to drill into those changes?

    Thanks for the continuing feedback


  • Deep-ThoughtGlynP Ye Olde Programmer

    Ok, keeping in mind the old Benny Hill sketch about when you assume, "u" make an "*" out of "me"; assuming the developers have signed the usual NDA (knowingly or not), synchronising via personal OneDrive accounts would surely keep the copyright lawyers happy in terms of personal accountability (for leaks)?

    Scenario: Long hard frustrating blind cul-de-sac day at the office. Light bulb moment during the commute home. Auto-history to the rescue... laptop back home; point proved; restful sleep follows...

    Go on, add the feature... ;)


  • Thanks @GlynP

    Our current thinking is we aren't really seeing Auto History as the means to migrate your code from one machine to another -  it really is something that sits between undo and source code control, and at this point we are thinking you'd want to use Source Code Control of some sort to check in a change set or similar, to move your work to your other machine. However your scenario is interesting, and we'll give it some thought.


  • Hi AutoHistory Extension Users


    As you've had a little while to work with the extension now, we're really keen to hear any success stories you might have from using it - cases where you were able to get back to something you were doing, that would have been hard before for instance. Along with your suggestions for improvements, these really help us understand how useful the feature is to you. So tell us your stories about using the extension!



  • Tanks to Brian Rian from ASPX Helps (Smile)

  • Deep-ThoughtGlynP Ye Olde Programmer

    @MarkWT: Hi Mark. Thanks for the reply. I understand the distinction you want to make/keep between source control and auto-history. However...

    Maybe it is just the way I work, but source control check-in for me (I use VS online TFS) tends to happen when major chucks of functionality have been completed, breaks, dawning incompetence, or at the end of the day. I tend not to check-in then out each time I decide to 'experiment' or when I have one of those lovely stretches where the code just falls out of my fingers and into the keyboard ;)

    It is the granularity of your auto-history which appeals, its informality, its appeal as a safety net when I have one of my free-form jazz-code odyssey moments...

    I've also assumed (again) that as auto-history keeps an eye on around 72 hours of code it would be useful to gain access to that fine-grained history across my various development machines rather than the more gate-kept lumps managed by TFS.

    Am I making sense or talking tosh?


  • Thanks @GlynP, yes you are totally making sense, we just need to work out how best to manage this slightly fuzzy line between the two worlds. We're thinking about it!

    Thanks for the feedback




    Hi folks, I'm pleased to announce that by popular demand we have now made a version of the extension (1.2) available that supports both Visual Studio 2013 AND Visual Studio 2012. We hope this will allow more of you to try the extension and give us your feedback!



  • @Titti Skaria: the extension is now available for Visual Studio 2012 - see V1.2 :)

Remove this comment

Remove this thread


Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.