Ninja IDE:专为Python设计的IDE

最后有人指定写 像Python一样的IDE 任何普通公民都可以在Linux中毫无问题地使用。 是的,有几种可以使用不同语言(包括Python)进行编程的IDE,但是 这个有一些小窍门...

NINJA-IDE是如何开始的?

忍者IDE 它是通过发送给PyAr的一些电子邮件而诞生的,其主题经常被听到: “我可以使用哪种优秀的Python IDE?”, “为什么没有具有该功能的Python IDE?”,并且对这些电子邮件的回复总是或多或少是相同的,因为我们发现可用的当前IDE在大多数情况下并不是针对Python设计的,而是提供了通过插件将其合并的选项。以前,它使用为其他目的而设计的非常笨拙的IDE,而对Python的支持实际上很少,而对Python的支持最终非常面向特定的框架,或者不是Free。 因此,受其所代表的挑战以及邮件列表中提出的有趣想法的启发,我们决定着重研究该项目。 “好的IDE应该为Python程序员提供哪些功能”.

考虑到这一点,我们开始开发NINJA-IDE,其名称是递归首字母缩略词的派生词: “忍者不只是另一个IDE”。 IDE仅仅进行了不到两个月的开发,但是由于我们一直致力于开发它的愿望和编程时间,因此我们已经可以实现具有许多功能的IDE,从而能够继续开发它。使用NINJA-IDE的NINJA- IDE可以通过经验和持续使用来帮助我们发现错误并提高应用程序的可用性和实用性。

该项目是根据免费的GPL许可开发的,可以通过以下方式获取代码:

IDE的一些当前功能包括:

  • 任何IDE的典型功能,用于处理文件,选项卡,自动缩进,放大编辑器等。
  • 它使用Python编写并使用PyQt,是跨平台的,并已在Linux,MAC OS X和Windows系统上进行了测试。
  • 多种语言的语法高亮显示(尽管它以Python为中心,但为程序员的方便提供了其他语言的语法高亮显示)。
  • 可以在同一IDE中使用Python控制台。
  • 它允许在IDE中管理项目,将其识别为Python项目并通过IDE创建新文件和文件夹,删除现有文件,使用该模块中的信息自动创建“ __init__”文件等。
  • 它允许以非常简单的方式隐藏和重新放置所有界面面板,从而使其适合用户的口味。
  • 允许您同时垂直或水平查看多个编辑器。
  • 通过添加插件可以扩展(可以使用NINJA-IDE插件创建该插件以简化操作)。
  • 它管理IDE会话,以记住关闭时打开了哪些文件和项目,并在再次打开其实例时恢复它们。
  • 支持自动完成(是正在访问的对象的特定自动完成)。
  • 自动更新。
  • 还有更多功能!

谁开发NINJA-IDE?

NINJA-IDE由圣地亚哥·莫雷诺(Santiago Moreno)和迭戈·萨门特罗(Diego Sarmentero)开始开发,并且在项目开始两周后就已经用于开发它。 感谢PyAr列表,博客等人。 在很短的时间内,该项目的传播意味着我们可以指望用户提交的Bug报告,NINJA邮件列表上的建议,甚至包括用户和合作者的代码贡献,其中有些人成为了NINJA-IDE的一部分提交人的角色,例如:Martin Alderete,Juan Cabral和MatíasHerranz。

我们从社区获得的这种强大的协作和参与使NINJA-IDE每天都在增长,可以改进和实现用户所需的功能。 反过来,我们从当前使用NINJA-IDE的人们那里收到的评论促使我们继续努力使用此工具,我们希望借此进一步简化Python应用程序的开发。

您如何决定要添加哪些功能?

在项目开始时,就考虑到了一个结构,该结构将使其随着时间的推移而增长并合并功能,并具有两个主要因素作为指导:代码编辑器和项目管理。 开始构建该应用程序时要注意这两个基本支柱,并为它们奠定良好的基础,以利于以后合并新功能。 该项目经历了不同的阶段,从一个良好的编辑器开始,突出显示语法,继续进行项目文件的管理,直到添加插件功能,自动完成,会话管理等。 通常将Python视为一种语言,因为它无法在编程时由于动态类型等原因从对象进行推断,因此在提供有关正在编写的代码的信息方面存在较大的困难。

在某些情况下,确实可以使用显式键入来执行更简单,更详细的分析,但是,也确实有当前针对Python的许多工具和库,这些工具和库可以帮助消除这种禁忌,即无法拥有IDE在所生成的代码上提供真正的帮助。 这就是为什么NINJA-IDE试图允许那些使用Python的程序员来开发他们的程序,具有与Java或.NET一起开发时所具有的相同的工具和辅助功能,以及使用某些目前以这些语言最著名的IDE进行开发的目的。 借鉴从其他语言的IDE获得的结果和经验,它旨在实现一个为Python设计的IDE,在使用它时会产生相同的满意度。

对于NINJA-IDE中新功能的建议,决策和合并,通常使用邮件列表来由组成该项目的成员做出集体决策,而不是仅仅知道该功能的目标。应该合并哪个阶段以及其他详细信息。 很多时候,这些特性是由另一个IDE中一些有趣的功能,一个成员的想法或用户组的建议所激发的。 这样,无论是用户还是开发人员,任何人都可以提出他们希望在NINJA-IDE中实现的东西,并且可以根据项目体系结构来定义是否有必要将其作为IDE本身的一部分或以一个插件,可让您同时知道正在处理哪些想法以及由谁来控制它们,以使工作组保持同步。

我们对NINJA-IDE有什么期望?

NINJA-IDE的诞生是为了满足对我们而言很重要的需求,而且我们还看到,当前的IDE方法无法提供必要的覆盖范围。

开始该项目时,我们的意图是创建一个专注于Python应用程序开发的环境,但始终考虑需要有一个用户社区,这将使我们能够改善使用此工具的体验,并且目前使我们很高兴能够依靠NINJA-IDE社区,因为得益于用户的经验和集体知识,有可能在他们的建议下,项目的开发可以更快地进行,并且比从另一个形状可能会被忽略。

未来的计划

当前,随着我们不断取得的发展,我们已经接近NINJA-IDE的1.0版本,该版本的名称为“ Kunai”。 在此第一个版本中,将提供一些前面提到的功能,这些功能将使开发人员拥有健壮且实用的IDE,显然,在任何项目中,都会出现改进和要实施的新功能。 打算在将来的版本中合并到NINJA-IDE中的一些东西是:

  • 图形调试器
  • 为了能够以图形方式查看项目的模块和类的可导航性和关系(基于BlueJ)
  • 支持代码版本控制工具。
  • 允许对文档进行协作编辑。
  • Qt和Gtk接口设计器集成在IDE中。
  • 框架支持,例如:
  • Django的
  • Google App Engine
  • 这才刚刚开始!

NINJA-IDE使用哪些工具?

该IDE是使用PyQt框架开发的,用于图形界面的所有处理和其他一些功能,尽管已尝试尽可能抽象某些功能,以允许在必要时明天将NINJA-IDE移植到其他框架,例如作为Gtk。 Qt允许具有可靠且高度可配置的接口,从而可以扩展每个必需的元素以修改其行为并使之适应IDE的需求。

关于语法突出显示,NINJA-IDE利用其自己的具有Qt功能的语法突出显示系统,并通过创建描述要结合的语言的简单JSON文件,使该突出显示系统在NINJA-IDE中易于扩展。 这种方法可以提高性能,但是为了覆盖该系统无法识别的那些语言,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创建插件项目的负责人。
  • ClassCompleter: 在编写Python代码时自动完成一些结构,例如:通过调用必要的父类自动创建构造函数,等等。

要咨询有关如何为NINJA-IDE开发插件的更多信息,您可以访问以下Wiki: http://ninja-ide.org/plugins/

联系我们

排出

Ninja IDE现在提供DEB和RPM软件包。 当然,世界其他地区始终可以下载源代码并进行编译。 🙂

感谢Diego Sarmentero与我们所有人共享这个出色的IDE!

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   帕特里西奥·阿尔盖洛

    我真的更喜欢PyCharm。 然而,良好的工作表示祝贺和问候。 @patoargu

  2.   Riccardo3284

    对社区的问候我是python编程的狂热者,IDE很好,但是在我的计算机上我具有Ubuntu 10.10,并且我无法使用图4中的功能,图XNUMX是命令,类或方法所在的位置如python对象所示,此特性至少对我来说非常重要,因为并非所有命令都可以学习,同时它可以让我们向程序员学习更多,但是该功能在我的ubuntu中不具备。

    希望社区中有人可以帮助我,我的电子邮件是 里卡多3284@gmail.com

  3.   马可波西

    我读错了,对git的支持尚未实现,但已经作为他们计划实现的插件了🙂

  4.   Alex

    ^^,我开始是开发团队的成员:),但是最后我没有时间或足够的知识,所以我不得不放弃:(。但是最后,我对忍者感到非常高兴IDE取得了如此好的成绩。

  5.   马可波西

    我已经尝试过了
    希望这很好,但是由于我使用python和qt,所以我喜欢xD
    我猜他擦过eric,我看了一下,它对git有帮助😀我想我们会相处的

  6.   丹尼尔

    我认为这非常好,唯一的负面影响是,他们会说西班牙语,用英语创建界面,应该用西班牙语创建界面,用英语创建IDES,为什么我们不做很多事情呢?英语听得懂,否则我只好祝贺他们。

    问候

  7.   欧根纽·坦布尔(Eugeniu Tambur)

    我喜欢它,但是目前它是绿色的,我已经对其进行了测试,使我震惊,并且它不断地重新启动Windows资源管理器,并且出现了更多错误,但是一旦他们修复了它,并且它变得更加稳定,那么它无疑将变得更加稳定。非常成功。

  8.   丹尼尔(Daniel DCS)

    “阿根廷制造”的出色作品! 衷心祝贺整个开发团队!

  9.   内耶

    问候大家,做得非常好,IDE使用起来非常舒适,包括图形用户界面的编辑器将非常有趣,如果它允许您生成项目文档(也许采用以下样式),也会很有趣。 Javadocs)。

    继续前进。