Ninja IDE: Một IDE được thiết kế cho Python

Cuối cùng cũng có người viết thư một IDE như folks cho Python mà bất kỳ công dân bình thường nào cũng có thể sử dụng mà không gặp sự cố trong Linux. Có, có một số IDE để lập trình bằng các ngôn ngữ khác nhau, bao gồm cả Python, nhưng cái này có một vài thủ thuật nhỏ trong tay áo của nó...

NINJA-IDE bắt đầu như thế nào?

NINJA-IDE Nó được sinh ra bởi một số email được gửi đến PyAr, chủ đề thường được nghe khá thường xuyên: "Tôi có thể sử dụng IDE tốt nào cho Python?", "Tại sao không có IDE cho Python có tính năng này hoặc tính năng kia?"và các phản hồi cho những email này luôn luôn giống nhau, vì các IDE hiện tại mà chúng tôi tìm thấy, phần lớn, không được thiết kế cho Python, nhưng cung cấp tùy chọn kết hợp nó thông qua một Plugin và trong đó Cách Nó từng sử dụng các IDE rất nặng được thiết kế cho các mục đích khác, trong đó sự hỗ trợ cho Python thực sự rất ít và những IDE dành cho Python cuối cùng lại rất hướng đến một Framework cụ thể hoặc không phải là Miễn phí. Vì vậy, được thúc đẩy bởi thách thức mà nó đại diện và bởi những ý tưởng thú vị đã được nêu ra trong danh sách gửi thư, chúng tôi quyết định tiếp cận dự án này bằng cách tập trung vào "Những tính năng nào mà một IDE tốt nên có cho một lập trình viên Python".

Với ý nghĩ này, chúng tôi bắt đầu phát triển NINJA-IDE, tên của nó là một dẫn xuất của từ viết tắt đệ quy: "Ninja không chỉ là một IDE khác". IDE mới chỉ có hơn hai tháng phát triển, nhưng nhờ mong muốn và hàng giờ lập trình mà chúng tôi dành cho nó, chúng tôi đã có thể có một IDE với nhiều chức năng được triển khai, đến mức có thể tiếp tục phát triển NINJA-IDE sử dụng NINJA-IDE, từ đó giúp chúng tôi tìm ra lỗi và cải thiện khả năng sử dụng và tính thực tế của ứng dụng, thông qua kinh nghiệm và liên tục sử dụng nó.

Dự án được phát triển theo giấy phép GPL miễn phí và mã có thể được lấy thông qua:

Một số tính năng hiện tại của IDE là:

  • Các chức năng điển hình của bất kỳ IDE nào để xử lý tệp, Tab, thụt lề tự động, Phóng to Trình chỉnh sửa, v.v.
  • Được viết bằng Python và sử dụng PyQt, nó đa nền tảng và đã được thử nghiệm trên các hệ thống Linux, MAC OS X và Windows.
  • Đánh dấu cú pháp cho nhiều loại ngôn ngữ (mặc dù nó là trung tâm của Python, nó cung cấp đánh dấu cú pháp cho các ngôn ngữ khác để thuận tiện cho lập trình viên).
  • Khả năng sử dụng Bảng điều khiển Python từ cùng một IDE.
  • Nó cho phép quản lý các Dự án trong IDE, công nhận chúng là Dự án Python và thông qua IDE tạo các tệp và thư mục mới, xóa các tệp hiện có, tự động tạo tệp "__init__" với thông tin trong mô-đun đó, v.v.
  • Nó cho phép ẩn và định vị lại tất cả các bảng giao diện một cách rất đơn giản, cho phép điều chỉnh theo thị hiếu của người dùng.
  • Cho phép bạn xem nhiều Trình chỉnh sửa cùng lúc theo chiều dọc hoặc chiều ngang.
  • Có thể mở rộng thông qua việc bổ sung các Plugin (có thể được tạo bằng Plugin NINJA-IDE để đơn giản hơn).
  • Nó quản lý các phiên IDE để ghi nhớ những tệp và dự án nào đã được mở khi nó được đóng và khôi phục chúng khi mở lại một phiên bản của nó.
  • Hỗ trợ Tự động hoàn thành (là một tự động hoàn thành cụ thể của đối tượng đang được truy cập).
  • Cập nhật tự động.
  • Và nhiều tính năng khác!

Ai là người phát triển NINJA-IDE?

NINJA-IDE bắt đầu được phát triển bởi Santiago Moreno và Diego Sarmentero, và trong vòng 2 tuần kể từ khi bắt đầu dự án, nó đã được sử dụng để phát triển nó. Cảm ơn những người từ Danh sách PyAr, Blog, v.v. Trong một thời gian rất ngắn, việc phổ biến dự án có nghĩa là chúng tôi có thể tin tưởng vào Báo cáo lỗi của Người dùng, Đề xuất trên danh sách gửi thư NINJA và thậm chí với các đóng góp mã của người dùng và cộng tác viên, trong đó một số đã trở thành một phần của NINJA-IDE với vai trò của những người cam kết, như trường hợp của: Martín Alderete, Juan Cabral và Matías Herranz.

Sự hợp tác và tham gia mạnh mẽ này mà chúng tôi đang nhận được từ cộng đồng cho phép NINJA-IDE phát triển mỗi ngày, cải thiện và triển khai các tính năng mà người dùng cần. Đổi lại, những nhận xét mà chúng tôi nhận được từ những người hiện đang sử dụng NINJA-IDE, thúc đẩy chúng tôi tiếp tục làm việc chăm chỉ trên công cụ này, mà chúng tôi muốn đơn giản hóa hơn nữa việc phát triển các ứng dụng Python.

Làm thế nào bạn quyết định các tính năng để thêm?

Khi bắt đầu dự án, một cấu trúc được cho là sẽ cho phép nó phát triển và kết hợp các chức năng theo thời gian, có hai yếu tố chính: Trình soạn thảo mã và Quản lý dự án. Ứng dụng bắt đầu được xây dựng dựa trên hai trụ cột cơ bản này và tạo cơ sở tốt cho chúng để sau này tạo điều kiện thuận lợi cho việc kết hợp các tính năng mới. Dự án trải qua các giai đoạn khác nhau, bắt đầu với một trình soạn thảo tốt với đánh dấu cú pháp, tiếp tục với việc quản lý các tệp dự án, cho đến khi thêm các tính năng plugin, tự động hoàn thành, quản lý phiên, v.v. Python thường được coi là ngôn ngữ gặp nhiều khó khăn hơn trong việc cung cấp thông tin về mã đang được viết vì nó không thể suy luận từ các đối tượng tại thời điểm lập trình do nhập động, v.v.

Trong một số trường hợp, đúng là việc nhập rõ ràng có thể thực hiện các phân tích đơn giản và chi tiết hơn, nhưng cũng đúng vì hiện tại có rất nhiều công cụ và thư viện dành cho Python giúp loại bỏ điều cấm kỵ đó là không thể có IDE. cung cấp hỗ trợ thực sự về mã đang được tạo. Đó là lý do tại sao NINJA-IDE tìm cách cho phép những lập trình viên sử dụng Python để phát triển chương trình của họ, có cùng cơ sở vật chất và hỗ trợ thu được khi phát triển bằng Java hoặc .NET với một số IDE hiện được biết đến nhiều nhất cho các ngôn ngữ đó. Lấy kết quả và kinh nghiệm thu được từ IDE cho các ngôn ngữ khác, nhằm đạt được một IDE được thiết kế cho Python để tạo ra sự hài lòng tương tự khi sử dụng nó.

Đối với đề xuất, quyết định và kết hợp các tính năng mới trong NINJA-IDE, danh sách gửi thư thường được sử dụng để đạt được quyết định chung của các thành viên tạo nên dự án, hơn bất cứ điều gì để biết mục tiêu của tính năng này sẽ là gì, trong giai đoạn nào nên được kết hợp và các chi tiết khác. Nhiều khi những đặc điểm này được thúc đẩy bởi một số chức năng thú vị được thấy trong một IDE khác, một ý tưởng từ một trong các thành viên hoặc đề xuất từ ​​nhóm người dùng. Bằng cách này, bất kỳ ai, cả người dùng và nhà phát triển, đều có thể đề xuất những thứ họ muốn thấy được triển khai trong NINJA-IDE và dựa trên kiến ​​trúc dự án, nó có thể được xác định nếu cần thiết kết hợp nó như một phần của chính IDE hoặc một plugin, cho phép đồng thời biết những ý tưởng nào đang được thực hiện và ai sẽ kiểm soát chúng để giữ cho nhóm công việc được đồng bộ hóa.

Chúng ta có thể mong đợi gì từ NINJA-IDE?

NINJA-IDE được sinh ra để đáp ứng nhu cầu dường như quan trọng đối với chúng tôi, và chúng tôi cũng thấy rằng các phương pháp tiếp cận IDE hiện tại không cung cấp phạm vi phù hợp cần thiết.

Ý định của chúng tôi khi bắt đầu dự án này là tạo ra một môi trường tập trung vào việc phát triển các ứng dụng Python, nhưng luôn tính đến nhu cầu có một cộng đồng người dùng cho phép chúng tôi cải thiện trải nghiệm sử dụng công cụ này và hiện tại khiến chúng tôi rất rất vui khi có thể tin tưởng vào cộng đồng NINJA-IDE, vì nhờ vào kinh nghiệm và kiến ​​thức chung của người dùng, mà với những đề xuất của họ, sự phát triển của dự án có thể tiến triển nhanh hơn và nhiều chi tiết hơn được tính đến từ hình dạng khác có thể bị bỏ qua.

Các kế hoạch trong tương lai

Hiện tại với sự phát triển không ngừng mà chúng tôi đang đạt được, chúng tôi sắp phát hành phiên bản 1.0 của NINJA-IDE, phiên bản này sẽ nhận được tên là 'Kunai'. Trong phiên bản đầu tiên này, một số tính năng đã đề cập trước đây sẽ có mặt, điều này sẽ cho phép nhà phát triển có một IDE mạnh mẽ và thiết thực, rõ ràng, như trong bất kỳ dự án nào, các cải tiến và tính năng mới sẽ xuất hiện để triển khai. Một số tính năng dự định sẽ được tích hợp vào NINJA-IDE trong các phiên bản tương lai là:

  • Trình gỡ lỗi đồ họa
  • Để có thể xem khả năng điều hướng và mối quan hệ của các mô-đun và lớp của một dự án bằng đồ thị (dựa trên BlueJ)
  • Hỗ trợ các công cụ lập phiên bản mã.
  • Cho phép cộng tác chỉnh sửa tài liệu.
  • Trình thiết kế giao diện Qt và Gtk được tích hợp trong IDE.
  • Hỗ trợ các khuôn khổ như:
  • Django
  • Máy ứng dụng Google
  • Và điều này chỉ mới bắt đầu!

NINJA-IDE sử dụng những công cụ nào?

IDE được phát triển bằng cách sử dụng khung PyQt cho tất cả việc xử lý Giao diện đồ họa và một số chức năng khác, mặc dù nó đã được cố gắng trừu tượng hóa nhiều nhất có thể các chức năng nhất định để cho phép, nếu cần vào ngày mai, để chuyển NINJA-IDE sang các khung khác như Gtk. Qt cho phép có một giao diện chắc chắn và có thể cấu hình cao, giúp có thể mở rộng từng phần tử cần thiết để sửa đổi hành vi của nó và điều chỉnh nó theo nhu cầu của IDE.

Về đánh dấu cú pháp, NINJA-IDE sử dụng hệ thống đánh dấu cú pháp của riêng mình bằng cách sử dụng các chức năng Qt và cho phép hệ thống đánh dấu này dễ dàng mở rộng trong NINJA-IDE với việc tạo một tệp JSON đơn giản mô tả ngôn ngữ được kết hợp. Phương pháp này cung cấp các cải tiến về hiệu suất, nhưng để bao gồm những ngôn ngữ không được nhận dạng thông qua hệ thống này, việc sử dụng các Phân đoạn đã được kết hợp để làm nổi bật cú pháp của nhiều ngôn ngữ hơn. Mặc dù khả năng các Pygment được thay thế bằng GNU Highlight do các vấn đề về hiệu suất hiện đang được đặt ra.

Để tự động hoàn thành, tái cấu trúc và những thứ liên quan đến suy luận mã, Rope được sử dụng, đây là một thư viện tuyệt vời, rất hoàn chỉnh cho loại tình huống này. Rope là một công cụ cho phép mang đến một IDE cho Python các đặc điểm của IDE của các ngôn ngữ đã nhập. Hiện tại, chúng tôi cũng đang tiến hành kết hợp Kiểm tra mã bằng thư viện Pep8, chính xác là để cung cấp thông tin về trạng thái của mã liên quan đến các tiêu chuẩn Pep8.

Khả năng mở rộng NINJA-IDE

NINJA-IDE có một hệ thống plugin khá hoàn chỉnh cho phép tích hợp các plugin này như một phần tử gốc của IDE. Việc viết plugin khá đơn giản và bạn thậm chí có thể sử dụng Plugin NINJA-IDE để viết Plugin NINJA-IDE (đệ quy?). Plugin «để viết Plugin» này cho phép bạn quyết định phần nào của IDE mà plugin mới sẽ liên quan và tự động tạo cấu trúc dự án cần thiết, cùng với bộ mô tả Plugin để NINJA-IDE có thể diễn giải nó và lớp cơ sở của Plugin này với các phương thức sẽ cần được thực hiện lại lần lượt, khi chúng tôi viết xong Plugin, nó cho phép chúng tôi đóng gói nó và sau đó phân phối nó. Hiện tại có sẵn 3 Plugin cho NINJA-IDE:

  • Thùng dán: cho phép bạn gửi mã đến pastebin.com và trả về liên kết kết quả để chia sẻ mã đó.
  • Dự án plugin: người phụ trách tạo các dự án Plugins cho NINJA-IDE như chúng tôi đã đề cập.
  • Trình hoàn thành lớp: tự động hoàn thành một số cấu trúc trong khi viết mã Python, chẳng hạn như: tạo phương thức khởi tạo tự động bằng cách gọi các Lớp cha cần thiết, v.v.

Để tham khảo thêm thông tin về cách phát triển Plugin cho NINJA-IDE, bạn có thể truy cập Wiki sau: http://ninja-ide.org/plugins/

LIÊN HỆ

Xả

Ninja IDE hiện có sẵn trong các gói DEB và RPM. Tất nhiên, phần còn lại của thế giới luôn có thể tải xuống mã nguồn và biên dịch nó. 🙂

Cảm ơn Diego Sarmentero đã chia sẻ IDE tuyệt vời này với tất cả chúng tôi!

Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   Patrick Arguello dijo

    Tôi thực sự thích PyCharm hơn. Tuy nhiên xin chúc mừng công việc tốt và Trân trọng. @patoargu

  2.   riccardo3284 dijo

    Xin chào cộng đồng Tôi là người yêu thích lập trình bằng python, IDE rất tốt nhưng trên máy tính của tôi có Ubuntu 10.10 và tôi không thể làm việc với các tính năng mà bạn thấy trong hình 4, hình ảnh các lệnh hoặc lớp hoặc phương thức. Được hiển thị Từ một đối tượng python, tính năng này ít nhất là rất quan trọng đối với tôi vì không phải tất cả các lệnh đều được học và đồng thời nó sẽ cho phép chúng tôi tìm hiểu thêm đối với các lập trình viên, nhưng chức năng đó không xuất hiện trong Ubuntu của tôi.

    Tôi hy vọng ai đó từ cộng đồng có thể giúp tôi, email của tôi là ricardo3284@gmail.com

  3.   marcoshipe dijo

    Tôi đã đọc nhầm, hỗ trợ cho git vẫn chưa được triển khai, nhưng nó đã là một plugin mà bạn định triển khai 🙂

  4.   Alex dijo

    ^^, tôi bắt đầu là một thành viên của nhóm phát triển :), nhưng cuối cùng tôi không có thời gian hoặc đủ kiến ​​thức và tôi phải từ bỏ nó :(. Nhưng tôi rất vui vì cuối cùng NInja IDE đã đi trước và với kết quả tốt như vậy.

  5.   marcoshipe dijo

    Tôi đã thử nó rồi 😀
    hy vọng điều này tốt, nhưng vì tôi sử dụng python và qt nên tôi thích xD
    Tôi đoán là anh ấy lau eric, và tôi đã xem xét và nó có hỗ trợ cho git 😀 Tôi nghĩ chúng ta sẽ hợp nhau

  6.   Daniel dijo

    Tôi nghĩ nó xuất sắc, điều tiêu cực duy nhất là, là người nói tiếng Tây Ban Nha, họ tạo giao diện bằng tiếng Anh, họ phải tạo giao diện bằng tiếng Tây Ban Nha, IDES bằng tiếng Anh, có rất nhiều lý do tại sao không làm điều gì đó mà tất cả chúng ta, những người không xử lý được Tiếng Anh hiểu, nếu không tôi không có bất kỳ nhưng chúc mừng họ.

    Liên quan

  7.   Eugeniu Tambur dijo

    Tôi thích nó, nhưng hiện tại nó có màu xanh lục, tôi đã thử nghiệm nó và nó khiến tôi choáng váng, nó khởi động lại trình khám phá cửa sổ liên tục và nhiều lỗi hơn, nhưng ngay sau khi họ sửa nó và nó ổn định hơn, chắc chắn nó sẽ rất thành công.

  8.   daniel dcs dijo

    Tác phẩm xuất sắc "made in" Argentina !!!! Xin chân thành chúc mừng toàn thể nhóm phát triển !!!!

  9.   neyer dijo

    Xin chào tất cả mọi người, công việc rất tốt, IDE khá thoải mái khi sử dụng, sẽ rất thú vị nếu bao gồm trình chỉnh sửa Giao diện người dùng đồ họa, cũng sẽ rất thú vị nếu nó cho phép bạn tạo tài liệu dự án (Có thể theo phong cách Javadocs).

    Tiếp tục đi.