Consulo + .NET plugin, two months later
Two months have passed since my first publication . After him, I slightly changed the priority to one task. Namely - the implementation of the debugger, at least for Mono .NET.
As I wrote above, I decided to implement debugger support for Mono .NET. As I said in the comments, Mono has a Soft Debugger that uses a protocol similar to Java (JWDP). As a result, a Java library for Mono debugging appeared.
A couple of screenshots:
You can also see in the test video here .
During a pause, you can change the values for primitive types and strings.
Of the flaws I know - Watchers do not work, since they are based on Evaluate Expressions, and this is a content enough task, which so far I have put on the shelf.
Microsoft .NET debugger also has a low priority, I don’t have time to write a shell yet (I don’t want to use command line debugger, because it will need to write a separate implementation for the debugger, I plan to implement a mono debugger for Microsoft .NET). If you want, write to the mail.
Added support for Mono Docs, which are stored in a content-specific format.
During this time, a lot of things have been implemented.
* Lambda expressions , are now processed, and their parameters are of the correct type.
* Method extensions . The decompilation of methods has been fixed, for the correct definition of this modifier. A search was also made for the same methods
* Correct support for the version of the sharpe. Now expressions that are not supported by the version of the language that you set in the settings are already highlighted
* Multi-dimenstion arrays
* Support for Partial types
* Binary loss operations return the correct type
This section deals with various tasks that indirectly concern .NET / C # plugins.
* Support for NUnit has been made , but while it is far from ideal, more time needs to be devoted to it
* Initial support for importing Visual Studio projects has been made
* There is an initial implementation for IKVM
Static and dynamic compilation for Microsoft .NET is supported. For Mono .NET, only dynamic start is supported. Static compilation is broken in official Mono builds.
Current status is alpha. It’s not yet suitable for work in production. Many more bugs - which are corrected and created every day. I will continue to work, it is still unknown with what force, since I can change my place of residence - and this will interfere. Those who want to help would be nice.
I want to answer a couple of questions that I was asked before.
Porting to the .NET platform (via IKVM) - will not. The main reason is the change of sewn to soap. And the second is that even the author of IKVM does not support Mono.
Migration to the IntelliJ platform will also not be. There are reasons that I don’t want to write here, in order to avoid a flame. One of them - I do not like the cloud of IDEs on my computer. Who wants to - can transfer. But I know this is practically impossible (a lot of time will be spent on the transfer).
Thanks for attention.
* Main repository
* .NET / C # plugin repository
* Night Builds (the plug-in is installed through the interface - Microsoft .NET or Mono .NET):
- Windows
- Mac
- Linux
Debugger
As I wrote above, I decided to implement debugger support for Mono .NET. As I said in the comments, Mono has a Soft Debugger that uses a protocol similar to Java (JWDP). As a result, a Java library for Mono debugging appeared.
A couple of screenshots:
You can also see in the test video here .
During a pause, you can change the values for primitive types and strings.
Of the flaws I know - Watchers do not work, since they are based on Evaluate Expressions, and this is a content enough task, which so far I have put on the shelf.
Microsoft .NET debugger also has a low priority, I don’t have time to write a shell yet (I don’t want to use command line debugger, because it will need to write a separate implementation for the debugger, I plan to implement a mono debugger for Microsoft .NET). If you want, write to the mail.
.NET
Added support for Mono Docs, which are stored in a content-specific format.
C #
During this time, a lot of things have been implemented.
* Lambda expressions , are now processed, and their parameters are of the correct type.
* Method extensions . The decompilation of methods has been fixed, for the correct definition of this modifier. A search was also made for the same methods
* Correct support for the version of the sharpe. Now expressions that are not supported by the version of the language that you set in the settings are already highlighted
* Multi-dimenstion arrays
* Support for Partial types
* Binary loss operations return the correct type
Sandbox
This section deals with various tasks that indirectly concern .NET / C # plugins.
* Support for NUnit has been made , but while it is far from ideal, more time needs to be devoted to it
* Initial support for importing Visual Studio projects has been made
* There is an initial implementation for IKVM
Static and dynamic compilation for Microsoft .NET is supported. For Mono .NET, only dynamic start is supported. Static compilation is broken in official Mono builds.
PS
Current status is alpha. It’s not yet suitable for work in production. Many more bugs - which are corrected and created every day. I will continue to work, it is still unknown with what force, since I can change my place of residence - and this will interfere. Those who want to help would be nice.
I want to answer a couple of questions that I was asked before.
Porting to the .NET platform (via IKVM) - will not. The main reason is the change of sewn to soap. And the second is that even the author of IKVM does not support Mono.
Migration to the IntelliJ platform will also not be. There are reasons that I don’t want to write here, in order to avoid a flame. One of them - I do not like the cloud of IDEs on my computer. Who wants to - can transfer. But I know this is practically impossible (a lot of time will be spent on the transfer).
Thanks for attention.
Links
* Main repository
* .NET / C # plugin repository
* Night Builds (the plug-in is installed through the interface - Microsoft .NET or Mono .NET):
- Windows
- Mac
- Linux