[MonoDevelop] C# REPL Addin
Scott Stephens
stephens.js at gmail.com
Mon Feb 11 03:40:07 UTC 2013
I've got everything in basically working order now. You can fire up an
interactive session either with the same references as a project you're
working on, or just a generic one, send code to it from the editor, or type
it directly in.
I've only done a little testing at this point, and only on Mac OS X, so
it's probably still buggy. I hope to put it to some use in the coming
week, so by the end of the week I ought to have a more informed opinion of
its stability or lack thereof.
On Tue, Feb 5, 2013 at 10:43 PM, Scott Stephens <stephens.js at gmail.com>wrote:
> I've become more convinced that the exceptions I'm seeing are handled
> exceptions, and the dialogs I'm seeing are essentially a quirk or a bug in
> MonoDevelop.
>
> I also solved my output problem, which means that at this point the Addin
> is basically functional: you can get a C# REPL pad inside MD, type in stuff
> and see the results all in the pad. It's probably still quite unstable, so
> that's the next item on the list, then I'll add in the ability to send text
> to it from the editor pads, at which point I will reach my goal for the
> first version of this thing.
>
>
> On Tue, Feb 5, 2013 at 9:40 AM, Scott Stephens <stephens.js at gmail.com>wrote:
>
>> I'm not using XML serialization. I do use System.Text.Encoding.UTF8,
>> perhaps that calls into some System.Xml stuff under the hood?
>>
>> To a certain extent the continuation after the exception messages makes
>> me think they must be handled too, but I'm not sure why MD would break on
>> them in that case. I've never messed with the Exceptions menu before (took
>> me about 20 minutes just to find it just now), and it seems like the
>> default is to not break on any unhandled exceptions. But I can't be sure
>> it's not set to something weird as I'm not on my home computer at the
>> moment. I'll check this out for sure when I get home tonight.
>>
>>
>> On Tue, Feb 5, 2013 at 7:03 AM, Adam Connelly <adam.rpconnelly at gmail.com>wrote:
>>
>>> You're not using XML serialisation, are you? In that case, the
>>> exceptions could be when the serialisation assembly is initially being
>>> generated. What happens in that case is that you get a
>>> FileNotFoundException (I think), and then a serialisation assembly is
>>> generated. After this point you don't get the exception anymore.
>>>
>>> If you are able to continue, it's probably because it's a handled rather
>>> than unhandled exception, and you just need to tell monodevelop not to
>>> break on handled exceptions.
>>>
>>> That's one possibility anyway.
>>>
>>>
>>> On 4 Feb 2013, at 23:45, Scott Stephens <stephens.js at gmail.com> wrote:
>>>
>>> Hi all,
>>>
>>> I've been working on an MD Addin to provide a C# REPL. It's by no means
>>> complete, but it's now reached the "kind of working" stage, where the
>>> project would benefit from other developers' inputs, should anyone be so
>>> inclined.
>>>
>>> Anyhow, if anyone wants to take a look, you can find it here:
>>> https://github.com/scottstephens/CSharpReplAddin
>>>
>>> I should emphasize that at this point even basic features are not yet
>>> complete, it is very lightly tested on Mac OS X only, there's no
>>> documentation, and it's probably quite buggy and unstable. But it's a
>>> start :-)
>>>
>>> Some implementation details for the curious: it's basically a thin
>>> wrapper around Mono.CSharp.Evaluator. It requires Mono 3.0.x. A separate
>>> process is launched to host the interactive session. The MD process
>>> communicates with that process over a TCP loopback connection. The key
>>> basic feature that it currently lacks is the ability to send standard
>>> output from the process that hosts the interactive session to the MD Pad.
>>> An attempt at this has been implemented using the output stream
>>> redirection facilities of System.Diagnostics.Process, but it doesn't work,
>>> and I don't know why yet. I'm also getting exceptions sometimes when I run
>>> the addin in debug mode. They are from attempting to load System.Xml and
>>> Microsoft.CSharp assemblies, and it appears that they are trying to be
>>> found in the build directory of my project. Curiously, they do not show up
>>> in release mode, nor do they prevent the proper functioning of the program
>>> if I just continue on. If anybody has any insight on those two issues,
>>> they would be of particular interest to me, but I'd be interested in any
>>> comments you might have.
>>>
>>> -- Scott
>>>
>>>
>>>
>>> _______________________________________________
>>> Monodevelop-list mailing list
>>> Monodevelop-list at lists.ximian.com
>>> http://lists.ximian.com/mailman/listinfo/monodevelop-list
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/monodevelop-list/attachments/20130210/d2529c68/attachment.html>
More information about the Monodevelop-list
mailing list