- PVSM.RU - https://www.pvsm.ru -
Мы поговорим, про поддержку .NET на IntelliJ платформе. После прочтения Вы сами решите, реальность ли?
Сделаем обычный Hello World. Что для проверки нам нужно?
1. Скачать билд [1] Consulo (мой форк IntelliJ IDEA, почему форк – иная тема)
2. Запускаем binconsulo.exe(win 32), binconsulo64.exe(win 64), Consulo.app(mac), bin/consulo.sh(linux). Я рекомендую проверять на Windows, хотя я и проверял билды на Линуксе и Маке, но они менее стабильные, да и есть пару проблем (например с Mac + Mono). Если все прошло гладко имеем:
3. Кликаем на Actions -> Configure -> Plugins. Видим там пустой список. Нажимаем Browse repositories…. Появится диалог, через секунд 10 появится список доступных плагинов (задержка — плохая реализация плагин репозитория). Ищем там Microsoft .NET или Mono .NET, и устанавливаем. В итоге мы должны иметь:

4. Actions -> Create Project -> OK . Мы имеем пустой проект. Идем в настройки проекта. Ищем наш модуль, и выбираем вкладку Extensions. Там выбираем Microsoft .NET -> C# (или Mono .NET -> C#). Structurable экстеншены дают возможность настроить проект, подобный Java (с Source + Test папками, с поддержкой пакетов как у Java):

5. После того как нажмем OK, будет задержка и пройдет индексация. Я не исключаю, что во время индексация вылетит Exception, если будет – отправьте через интерфейс мне.
Для проверки, нормально ли все, делаем Ctrl + N -> Console. Если Вы перейдете к классу System.Console, значит все хорошо, и можно продолжать, если нет, прошу отписаться в комментариях.
6. Создаем класс. В дереве проекта, делаем New -> C# Class -> `Program` -> OK , и пишем обычный Hello World
using System;
public class Program
{
public static void Main(String[] arg)
{
Console.WriteLine("Hello World");
}
}
7. Теперь, нам нужно этот код запустить. Заходим в Run/Debug Configurations -> Add -> .NET Application. Больше ничего не нужно изменять.

Сохраняем и нажимаем Run:

На этом наш тест закончен.
Хотелось бы уточнить что это лишь, начальная реализация, которую я делаю в соло режиме (почти 500 коммитов), поддерживает:
• Макросы;
• Декомпиляция .NET библиотек;
• Профили (возможность смены СДК, переменных, прочее);
• Базовый поиск методов, классов, переменных, прочее;
• Подсветка, частичное заполнения, фолдинг;
• Практически весь синтаксис C#.
Но при этом есть баги:
• Бинарные операции возвращают неверный тип;
• Макросы #if имеют привычку ломаться в больших файлах;
• Inner методы и энумы, не участвуют в поиске;
• Декомпиляция не идеальная.
Что у меня в планах?
• Исправлять баги;
• Debugging;
• NUnit, Unity, NAnt, Vistual Studio Importer, IronRuby, IronPython, и ….
Бросать я не собираюсь, время на разработку пока есть. Все ссылки можно найти в моем профиле на гитхабе [2]
UPDATE: немного поправил названия поста
Автор: VISTALL
Источник [3]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/java/56718
Ссылки в тексте:
[1] билд: https://github.com/consulo/consulo/wiki/Download-links
[2] гитхабе: https://github.com/VISTALL
[3] Источник: http://habrahabr.ru/post/215203/
Нажмите здесь для печати.