Ninja IDE: IDE, разработанная для Python

Наконец кто-то соизволил написать IDE, как люди для Python что любой обычный гражданин может без проблем использовать в Linux. Да, есть несколько IDE для программирования на разных языках, включая Python, но у этого есть несколько маленьких хитростей в рукаве...

Как появилась NINJA-IDE?

НИНДЗЯ-ИДЕ Он был рожден несколькими электронными письмами, отправленными PyAr, тема которого звучит довольно часто: "Какую хорошую IDE для Python я могу использовать?", «Почему нет IDE для Python, в которой есть та или иная функция?», и ответы на эти электронные письма всегда оказываются более или менее одинаковыми, поскольку текущие IDE, которые мы находим доступными, по большей части не были разработаны для Python, но предлагали возможность включения их через подключаемый модуль и в этот Раньше использовались очень тяжелые IDE, разработанные для других целей, где поддержка Python была минимальной, а те, которые были для Python, в конечном итоге были очень ориентированы на конкретную структуру или не были бесплатными. Итак, мотивированные поставленной задачей и интересными идеями, которые были подняты в списке рассылки, мы решили подойти к этому проекту, сосредоточившись на «Какие функции должна иметь хорошая IDE для программиста на Python».

Помня об этом, мы начали разработку NINJA-IDE, название которой является производным от рекурсивного акронима: «Ниндзя - это не просто еще одна IDE». У IDE едва ли больше двух месяцев на разработку, но благодаря желанию и часам программирования, которые мы ей посвящаем, у нас уже может быть IDE с множеством реализованных функций, так что мы можем продолжить разработку NINJA-IDE, использующая NINJA-IDE, которая, в свою очередь, помогает нам находить ошибки и улучшать удобство использования и практичность приложения благодаря опыту и постоянному его использованию.

Проект разработан под бесплатной лицензией GPL, и код можно получить через:

Некоторые из текущих функций IDE:

  • Типичные функции любой IDE для работы с файлами, вкладками, автоматическим отступом, масштабированием редактора и т. Д.
  • Написанный на Python и использующий PyQt, он является кроссплатформенным и был протестирован в системах Linux, MAC OS X и Windows.
  • Подсветка синтаксиса для самых разных языков (хотя она основана на Python, она обеспечивает подсветку синтаксиса для других языков для удобства программиста).
  • Возможность использования консоли Python из той же IDE.
  • Он позволяет управлять проектами в среде IDE, распознавая их как проекты Python и создавая в среде IDE новые файлы и папки, удаляя существующие файлы, автоматически создавая файлы «__init__» с информацией в этом модуле и т. Д.
  • Это позволяет очень просто скрывать и перемещать все панели интерфейса, что позволяет адаптировать его к вкусам пользователя.
  • Позволяет вам просматривать более одного редактора одновременно по вертикали или горизонтали.
  • Возможность расширения за счет добавления подключаемых модулей (которые для простоты могут быть созданы с использованием подключаемого модуля NINJA-IDE).
  • Он управляет сеансами IDE, чтобы запоминать, какие файлы и проекты были открыты при закрытии, и восстанавливает их при повторном открытии экземпляра.
  • Поддержка автозаполнения (являющегося конкретным автозаполнением объекта, к которому осуществляется доступ).
  • Автоматические обновления.
  • И многое другое!

Кто разрабатывает NINJA-IDE?

NINJA-IDE начали разрабатывать Сантьяго Морено и Диего Сарментеро, и уже через 2 недели после начала проекта она уже использовалась для его разработки. Спасибо ребятам из PyAr List, блогов и т. Д. За очень короткое время распространение проекта означало, что мы могли рассчитывать на отчеты об ошибках от пользователей, предложения в списке рассылки NINJA и даже на добавление кода пользователями и соавторами, некоторые из которых стали частью NINJA-IDE с роль исполнителей, как, например, Мартин Альдерете, Хуан Кабрал и Матиас Эрранц.

Это тесное сотрудничество и участие, которое мы получаем от сообщества, позволяет NINJA-IDE расти каждый день, улучшая и внедряя функции, которые нужны пользователям. В свою очередь, комментарии, которые мы получаем от людей, которые в настоящее время используют NINJA-IDE, мотивируют нас продолжать усердно работать над этим инструментом, с помощью которого мы хотим еще больше упростить разработку приложений Python.

Как вы решили, какие функции добавить?

В начале проекта была задумана структура, которая позволит ему со временем расти и включать функциональные возможности, имея в качестве ориентира два основных фактора: редактор кода и управление проектом. Приложение начало разрабатываться, заботясь об этих двух фундаментальных принципах и создавая хорошую основу для облегчения включения новых функций позже. Проект прошел несколько этапов, начиная с хорошего редактора с подсветкой синтаксиса, заканчивая управлением файлами проекта, до добавления функций плагина, автозаполнения, управления сеансами и т. Д. Python часто рассматривается как язык, который испытывает большие трудности с предоставлением информации о написанном коде, поскольку он не может делать выводы из объектов во время программирования из-за динамической типизации и т. Д.

В некоторых случаях верно, что наличие явной типизации может выполнять более простой и подробный анализ, но также верно и то, что в настоящее время существует множество инструментов и библиотек для Python, которые помогают устранить это табу, заключающееся в невозможности иметь IDE. который оказывает реальную помощь в генерируемом коде. Вот почему NINJA-IDE стремится позволить тем программистам, которые используют Python для разработки своих программ, иметь те же средства и средства, которые получаются при разработке на Java или .NET с некоторыми из IDE, в настоящее время наиболее известных для этих языков. Используя результаты и опыт, полученные от IDE для других языков, он предназначен для создания IDE, разработанной для Python, которая генерирует такое же удовлетворение при ее использовании.

Для предложения, принятия решения и включения новых функций в NINJA-IDE список рассылки обычно используется для достижения коллективного решения участниками, составляющими проект, более чем что-либо, чтобы узнать, какова будет цель этой функции, в какой этап должен быть включен и другие детали. Часто эти характеристики мотивированы некоторыми интересными функциями, которые можно увидеть в другой среде IDE, идеей одного из участников или предложениями группы пользователей. Таким образом, любой, как пользователь, так и разработчик, может предложить то, что они хотели бы видеть реализованными в NINJA-IDE, и на основе архитектуры проекта можно определить, необходимо ли включить его как часть самой IDE или как плагин, позволяющий в то же время знать, над какими идеями работают и кто контролирует их, чтобы синхронизировать рабочую группу.

Чего нам ожидать от NINJA-IDE?

NINJA-IDE была создана для удовлетворения потребности, которая казалась нам важной, и мы также увидели, что нынешние подходы к IDE не обеспечивают необходимого покрытия.

Нашим намерением при запуске этого проекта было создание среды, ориентированной на разработку приложений Python, но всегда с учетом необходимости иметь сообщество пользователей, которое позволило бы нам улучшить опыт использования этого инструмента, и в настоящее время делает нас очень счастлив иметь возможность рассчитывать на сообщество NINJA-IDE, поскольку благодаря опыту и коллективным знаниям пользователей возможно, что с их предложениями разработка проекта может продвигаться быстрее, и будет учтено гораздо больше деталей из другой формы можно было не заметить.

Планы на будущее

В настоящее время, благодаря непрерывному развитию, которого мы достигаем, мы близки к выпуску версии 1.0 NINJA-IDE, которая получит название «Kunai». В этой первой версии будут присутствовать некоторые из ранее упомянутых функций, которые позволят разработчику иметь надежную и практичную IDE, очевидно, как и в любом проекте, для реализации появятся улучшения и новые функции. Некоторые из вещей, которые должны быть включены в NINJA-IDE в будущих версиях:

  • Графический отладчик
  • Чтобы иметь возможность графически увидеть навигацию и взаимосвязь модулей и классов проекта (на основе BlueJ)
  • Поддержка инструментов управления версиями кода.
  • Разрешить совместное редактирование документа.
  • Конструктор интерфейсов Qt и Gtk интегрирован в IDE.
  • Фреймворки поддерживают такие как:
  • Django
  • Google App Engine
  • И это только начало!

Какие инструменты использует NINJA-IDE?

IDE разработана с использованием инфраструктуры PyQt для всей обработки графического интерфейса и некоторых других функций, хотя была предпринята попытка максимально абстрагировать определенные функции, чтобы при необходимости завтра можно было портировать NINJA-IDE на другие платформы, такие как Gtk. Qt позволил иметь прочный и легко настраиваемый интерфейс, который позволил расширить каждый необходимый элемент, чтобы изменить его поведение и адаптировать его к потребностям IDE.

Что касается подсветки синтаксиса, NINJA-IDE использует свою собственную систему подсветки синтаксиса с использованием функций Qt и позволяет легко расширять эту систему подсветки в NINJA-IDE с помощью создания простого файла JSON, который описывает язык, который будет включен. Этот метод обеспечивает повышение производительности, но чтобы охватить те языки, которые не распознаются в этой системе, было включено использование Pygments для выделения синтаксиса большего количества языков. Хотя возможность замены Pygments на GNU Highlight по соображениям производительности в настоящее время поднимается.

Для автозаполнения, рефакторинга и тех, которые относятся к выводу кода, используется Rope - отличная библиотека, очень полная для такого типа ситуаций. Rope - это инструмент, который позволяет привнести в IDE для Python характеристики IDE типизированных языков. В настоящее время мы также работаем над включением проверки кода с использованием библиотеки Pep8, чтобы предоставить информацию о статусе кода по отношению к стандартам Pep8.

Расширяемость NINJA-IDE

NINJA-IDE имеет довольно полную систему плагинов, которая позволяет интегрировать эти плагины в качестве собственного элемента IDE. Написание плагинов довольно просто, и вы даже можете использовать плагин NINJA-IDE для написания плагинов NINJA-IDE (рекурсивных?). Этот плагин «для написания плагинов» позволяет вам решить, с какими частями IDE будет связан новый плагин, и автоматически создает необходимую структуру проекта вместе с дескриптором плагина, чтобы NINJA-IDE могла интерпретировать его и базовый класс. этого подключаемого модуля с методами, которые необходимо будет реализовать повторно, в свою очередь, когда мы закончим писать подключаемый модуль, он позволяет нам упаковать его и затем распространить. В настоящее время доступно 3 плагина для NINJA-IDE:

  • Pastebin: который позволяет вам отправить код на pastebin.com и вернуть полученную ссылку, чтобы поделиться этим кодом.
  • ПлагинПроект: человек, ответственный за создание проектов плагинов для NINJA-IDE, как мы уже упоминали.
  • КлассЗавершитель: автоматически завершает некоторые структуры при написании кода Python, например: автоматическое создание конструктора путем вызова необходимых родительских классов и т. д.

Чтобы получить дополнительную информацию о том, как разработать плагин для NINJA-IDE, вы можете посетить следующую вики: http://ninja-ide.org/plugins/

Контакты

Выполнять

Ninja IDE теперь доступна в пакетах DEB и RPM. Остальной мир, конечно, всегда может скачать исходный код и скомпилировать его. 🙂

Спасибо Диего Сарментеро за то, что поделился этой отличной IDE со всеми нами!

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Патрисио Аргуэлло сказал

    Мне действительно больше нравится PyCharm. Однако хорошей работы, поздравляю и всего наилучшего. @patoargu

  2.   Riccardo3284 сказал

    Приветствую сообщество. Я фанат программирования на python, IDE очень хороша, но на моем компьютере установлена ​​Ubuntu 10.10, и я не могу работать с функциями, которые вы видите на рисунке 4, изображении, где находятся команды, классы или методы. Как показано на примере объекта python, эта характеристика очень важна, по крайней мере для меня, поскольку не все команды изучаются, и в то же время это позволило бы нам узнать больше программистов, но эта функциональность не проявляется в моем ubuntu.

    Я надеюсь, что кто-то из сообщества может мне помочь, мой адрес электронной почты riccardo3284@gmail.com

  3.   Маркошип сказал

    Я неправильно прочитал, поддержка git еще не реализована, но это уже плагин, который вы планируете реализовать 🙂

  4.   Алекс сказал

    ^^, я начинал как член команды разработчиков :), но в итоге у меня не хватило времени или знаний, и мне пришлось уйти :(. Но я очень рад, что в итоге NInja IDE вышла вперед и с такими хорошими результатами.

  5.   Маркошип сказал

    Уже пробую 😀
    надеюсь, это хорошо, но поскольку я использую python и qt, мне нравится xD
    Думаю, он вытирает Эрика, и я посмотрел, и он поддерживает git 😀 Думаю, мы поладим

  6.   Дэниел сказал

    Я думаю, что это отлично, единственный минус в том, что, будучи испаноязычными, они создают интерфейсы на английском, они должны делать их на испанском, IDES на английском языке, есть много причин, почему бы не сделать то, с чем все мы, кто не справляется Английский понимают, а то и нечего, кроме поздравлений.

    привет

  7.   Евгений Тамбур сказал

    Мне это нравится, но на данный момент это что-то зеленое, я его протестировал, и это меня ошеломило, и он постоянно перезапускает проводник Windows и больше ошибок, но как только они исправят это, и это будет что-то более стабильное, он, несомненно, быть очень успешным.

  8.   Дэниел Д.С. сказал

    Отличная работа "Сделано в" Аргентине !!!! Искренние поздравления всей команде разработчиков !!!!

  9.   Нейер сказал

    Приветствую всех, очень хорошая работа, IDE достаточно удобна в использовании, было бы очень интересно включить редактор графических пользовательских интерфейсов, также было бы интересно, если бы он позволял генерировать документацию по проекту (может быть, в стиле Документация Javadocs).

    Продолжайте идти.