Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 57 lines (41 sloc) 1.995 kb
be9e91f @ermau Update README
authored
1 ## Summary
2
eebf42a @ermau 0.1 Prototype
authored
3 This is a research project into whether or not it is feasible to enable
4 real time state output of a method while it is being written in a full
be9e91f @ermau Update README
authored
5 sized .NET project. The original inspiration for this comes from
eebf42a @ermau 0.1 Prototype
authored
6 [Bret Victor's Inventing on Principle talk](http://vimeo.com/36579366).
7
be9e91f @ermau Update README
authored
8 There is currently a prototype extension to Visual Studio 2012 as well as a
9 standalone client. Neither of these prototypes currently work on a full project,
10 but that is the eventual goal (along with a MonoDevelop addin).
11
f839efa @ermau Update readme and contributing
authored
12 This is mostly undocumented, hack-filled prototype code. You have been warned.
13
be9e91f @ermau Update README
authored
14 ## Limitations
15
16 - Isolated methods only (no class fields or other methods).
17 - There is no visualization for multiple threads.
18 - Infinite loop detection is not perfect (false positives, false negatives).
f839efa @ermau Update readme and contributing
authored
19 - Visual Studio extension performs poorly (especially when debugging it).
20 - Method signatures must be on a single line
be9e91f @ermau Update README
authored
21
22 For more details on the limitations, see [Instant 0.1](http://ermau.com/instant-0-1/)
23
24 ## Requirements
25 - .NET 4.5 RTM
26 - [Roslyn September CTP](http://msdn.com/roslyn)
27
28 ## Using the Visual Studio extension prototype
29
30 Visual Studio 2012 RTM Pro is required for the extension. The Visual Studio 2012 SDK is
31 also required, but the Roslyn installer should prompt for that anyway.
32
33 1. Launch the `Instant.VisualStudio` project from `Instant.sln`.
34 1. Click an `Instant` button next to a method.
35 1. Enter your code to call this method. This can be multiple lines to setup arguments,
36 but remember that currently you can not use other types in your project.
37
38 ## Using the standalone prototype
af5fe8d @ermau Update readme
authored
39
8390da1 @ermau Update readme
authored
40 Currently the prototype expects all code that you wish to log to be contained in
41 methods, but there isn't a need for a containing class. Simply write your method,
42 and after it add a call to it with your test parameters, such as this:
43
be9e91f @ermau Update README
authored
44 ```csharp
45 void DoStuff (int y)
46 {
47 int x = y;
48 }
8390da1 @ermau Update readme
authored
49
be9e91f @ermau Update README
authored
50 DoStuff (5);
51 ```
8390da1 @ermau Update readme
authored
52
af5fe8d @ermau Update readme
authored
53 Contact
54 -------
55 [@ermau](http://twitter.com/ermau)
56 [me@ermau.com](mailto://me@ermau.com)
Something went wrong with that request. Please try again.