Сделаем обычный Hello World. Что для проверки нам нужно?
1. Скачать билд Consulo (мой форк IntelliJ IDEA, почему форк – иная тема)
2. Запускаем bin\consulo.exe(win 32), bin\consulo64.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, и ….
Бросать я не собираюсь, время на разработку пока есть. Все ссылки можно найти в моем профиле на гитхабе
ссылка на оригинал статьи http://habrahabr.ru/post/215203/
Добавить комментарий