IntelliJ-based .NET Support - Reality?

    Let's talk about .NET support on the IntelliJ platform. After reading, you yourself decide: is it reality?

    Let's make a normal Hello World . What do we need to check?
    1. Download the Consulo build (my fork of IntelliJ IDEA, why fork is a different topic). 2. Run bin \ consulo.exe (win 32), bin \ consulo64.exe (win 64), Consulo.app (mac), bin / consulo.sh (linux). I recommend checking on Windows, although I tested builds on Linux and Mac, but they are less stable, and there are a couple of problems (for example, with Mac + Mono). If everything went smoothly, we have: 3. Click on Actions -> Configure -> Plugins . We see there an empty list. Click browse repositories ...



    image

    . A dialog will appear, after 10 seconds a list of available plugins will appear (delay is a poor implementation of the repository plugin). We look for Microsoft .NET or Mono .NET there and install. As a result, we should have:

    image

    4. Actions -> Create Project -> OK . We have an empty project. We go to the project settings. We search for our module and select the Extensions tab . There we select Microsoft .NET -> C # (or Mono .NET -> C # ). Structurable extensions allow you to configure a project similar to Java (with Source + Test folders, with support for packages like Java):

    image

    5. After clicking OK , there will be a delayand indexing will take place. I do not exclude that during indexing Exception will be thrown, if so, send it to me through the interface .
    To check if everything is normal, do Ctrl + N -> Console . If you go to the System.Console class , then everything is fine, and you can continue, if not, please unsubscribe in the comments.

    6. Create a class. In the project tree, do New -> C # Class -> `Program` -> OK and write the usual Hello World:

    using System;
    public class Program
    {
        public static void Main(String[] arg)
        {
            Console.WriteLine("Hello World");
        }
    }
    


    7. Now we need to run this code. Go to Edit Configurations -> Add -> .NET Application . Nothing more needs to be changed.

    ”Image”

    Save and click Run :

    ”Image”

    This completes our test.

    I would like to clarify that this is only the initial implementation, which I do in solo mode (almost 500 commits).
    It supports:
    • Macros;
    • Decompilation of .NET libraries;
    • Profiles (the ability to change KFOR, variables, etc.);
    • Basic search for methods, classes, variables, etc.;
    • Backlight, partial filling, folding;
    • Virtually all C # syntax.

    But at the same time, there are bugs:
    • Binary operations return the wrong type;
    • #if macros tend to break in large files;
    • Inner methods and enums are not involved in the search;
    • Decompilation is not perfect.

    What are my plans?
    • Fix bugs;
    • Debugging;
    • NUnit, Unity, NAnt, Vistual Studio Importer, IronRuby, IronPython, and ....

    I’m not going to quit, there’s still time for development. All links can be found on my github profile .

    Only registered users can participate in the survey. Please come in.

    .NET support on IntelliJ platform - reality?

    • 62.3% Yes 293
    • 11.7% No 55
    • 25.9% not now 122

    Also popular now: