Ninja IDE:專為Python設計的IDE

最後有人指定寫 像Python一樣的IDE 任何普通公民都可以在Linux中毫無問題地使用。 是的,有幾種可以使用不同語言(包括Python)進行編程的IDE,但是 這個有一些小竅門...

NINJA-IDE是如何開始的?

忍者IDE 它是通過發送給PyAr的一些電子郵件而誕生的,該電子郵件通常會經常聽到其主題: “我可以使用哪種優秀的Python IDE?”, “為什麼沒有具有該功能的Python IDE?”,並且對這些電子郵件的回复總是或多或少是相同的,因為我們發現可用的當前IDE在大多數情況下並不是為Python設計的,而是提供了通過插件並以這種方式將其合併的選項它曾經使用為其他目的而設計的非常笨重的IDE,而對Python的支持實際上很少,而對Python的支持最終卻非常面向特定的框架,或者不是免費的。 因此,受其所代表的挑戰以及郵件列表中提出的有趣想法的啟發,我們決定著重研究該項目。 “好的IDE應該為Python程序員提供哪些功能”.

考慮到這一點,我們開始開發NINJA-IDE,其名稱是遞歸首字母縮略詞的派生詞: “忍者不只是另一個IDE”。 IDE僅僅開發了不到兩個月,但是由於我們一直致力於開發IDE,因此我們已經可以實現具有許多功能的IDE,從而可以繼續進行NINJA-的開發,使用NINJA-IDE的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列表,博客等人。 在很短的時間內,該項目的傳播意味著我們可以依靠用戶的錯誤報告,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功能,並允許該高亮顯示系統在NINJA-IDE中輕鬆擴展,方法是創建一個描述JSON的簡單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創建插件項目的負責人。
  • 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.   里卡多3284 他說:

    對社區的問候我是python編程的狂熱者,IDE很好,但是在我的計算機上我具有Ubuntu 10.10,並且我無法使用圖4所示的功能,該圖像顯示了命令,類或方法從python對像開始,此功能至少對我來說非常重要,因為並非所有命令都可以學習,同時它可以讓我們向程序員學習更多,但是該功能在我的Ubuntu中不具備。

    希望社區中有人可以幫助我,我的電子郵件是 里卡多3284@gmail.com

  3.   馬可波西 他說:

    我讀錯了,尚未實現對git的支持,但它已經是您計劃實現的插件了

  4.   亞歷克斯 他說:

    ^^,我開始是開發團隊的成員:),但最後我沒有時間或足夠的知識,所以不得不放棄:(。但我很高興最終NInja IDE取得瞭如此出色的成績。

  5.   馬可波西 他說:

    我已經嘗試過了
    希望這很好,但是由於我使用python和qt,所以我喜歡xD
    我猜他擦過eric,我看了看,它對git有幫助support我想我們會相處的

  6.   但以理書 他說:

    我認為這非常好,唯一的負面影響是,他們會說西班牙語,用英語創建界面,應該用西班牙語創建界面,用英語創建IDES,為什麼我們不做很多事情呢?英語聽得懂,否則我只好祝賀他們。

    問候

  7.   歐根紐·坦布爾(Eugeniu Tambur) 他說:

    我喜歡它,但是目前它是綠色的,我已經對其進行了測試,並讓我感到震驚,它不斷重新啟動Windows Explorer,並且出現了更多錯誤,但是一旦他們修復了它並且它變得更穩定,則無疑會非常成功。

  8.   丹尼爾(Daniel DCS) 他說:

    “阿根廷製造”的出色作品! 衷心祝賀整個開發團隊!

  9.   內耶 他說:

    問候大家,做得非常好,IDE使用起來非常舒適,包括圖形用戶界面的編輯器將非常有趣,如果它允許您生成項目文檔(也許採用以下樣式),也會很有趣。 Javadocs)。

    繼續。