dây là một Python IDE. Mục tiêu chính của Python dây là để cung cấp các tính năng như tự động hoàn thành, tái cấu trúc, hỗ trợ nội dung và phác thảo.
Refactoring: Trong những năm gần đây đã trở thành một refactoring nhiệm vụ cơ bản của lập trình hàng ngày, đặc biệt trong cộng đồng java. Trong các phương pháp lập trình nhanh nhẹn, giống như cực Programing, Refactoring là một trong những hoạt động cốt lõi.
Một số IDE hỗ trợ một số phép tái cấu trúc cơ bản như "PyDev '(trong đó sử dụng xe đạp, sửa chữa con người). Những IDEs có một số hạn chế các phép tái cấu trúc và thất bại khi làm phép tái cấu trúc mà cần phải biết loại của các đối tượng trong mã nguồn (đặc biệt đối với các dự án tương đối lớn). dây thừng cố gắng để cung cấp một tập hợp phong phú của tái cấu trúc. Một số yêu cầu tái cấu trúc kiểu suy luận được mô tả sau.
Auto Completion: Một trong những tính năng cơ bản của IDE hiện đại là sự sẵn có của các tính năng tự động hoàn thành. Một số IDE Python có hỗ trợ tính năng tự động hoàn thành nhưng trong một hình thức hạn chế. Kể từ khi các loại của nhiều biến không thể được rút ra từ phân tích đơn giản của các mã nguồn. Auto-hoàn thành module tên, tên lớp, phương pháp tĩnh, phương pháp học, tên hàm và các tên biến được dễ dàng. Nhưng tự động hoàn thành các phương pháp và các thuộc tính của một đối tượng là khó khăn. Bởi vì các IDE cần phải biết loại của các đối tượng mà không thể đạt được dễ dàng hầu hết thời gian trong các ngôn ngữ động. dây sử dụng các thuật toán loại inferencing để giải quyết vấn đề này.
Loại suy luận: Một nhược điểm của các ngôn ngữ động như trăn là bạn không thể biết loại biến bởi một phân tích đơn giản của chương trình mã nguồn phần lớn thời gian. Biết được các loại biến là rất cần thiết cho việc cung cấp rất nhiều các phép tái cấu trúc và tính năng tự động hoàn tất. sợi dây sẽ sử dụng loại inferencing để khắc phục vấn đề này.
Static loại inferencing sử dụng chương trình mã nguồn để đoán loại các đối tượng. Nhưng các chương trình loại inferencing python là rất khó khăn. Đã có một số nỗ lực mặc dù không phải là rất thành công (ví dụ: tâm lý: chỉ str và int loại, Starkiller: không được phát hành và ShedSkin: tốt nhưng hạn chế). Chúng được chủ yếu hướng vào đẩy nhanh tiến độ các chương trình python bằng cách chuyển đổi mã của nó để đánh máy ngôn ngữ khác hơn là xây dựng IDE. Các thuật toán như vậy có thể là hữu ích.
Có cách tiếp cận khác đối với loại inferencing. Đó là phân tích của chương trình đang chạy. Cách tiếp cận năng động này ghi lại các loại biến được giao trong quá trình thực hiện chương trình. Mặc dù phương pháp này là dễ dàng hơn rất nhiều để thực hiện hơn thay thế, đó là hạn chế. Chỉ có các bộ phận của chương trình sẽ được thực thi được phân tích. Nếu các nhà phát triển viết các bài kiểm tra đơn vị sử dụng và định hướng phát triển thử nghiệm phương pháp này hoạt động rất tốt
là gì mới trong phiên bản này:.
- codeassist: xử lý tốt hơn của unicode trong docstrings
- codeassist: xử lý ẩn dựng sẵn, chẳng hạn như sys.stdout
- codeassist: đề xuất phạm vi sửa đổi và các loại
- fscommands: xử lý các thay đổi phi hành đoàn hg ui
- patchedast: xử lý các nút ExtSlice
là gì mới trong phiên bản 0.9.2:
- Các module autoimport bây giờ hỗ trợ bộ nhớ đệm tất cả các sub-module của một module.
- Recursion khi tải các module đã được cố định.
- hỗ trợ cơ bản cho setuptools đã được thêm vào.
- Các phương pháp chiết xuất đã được thay đổi để xử lý các thông tin cập nhật biến có điều kiện.
là gì mới trong phiên bản 0.9.1:
- Biến import_dynload_stdmods đã được thêm vào để làm giảm kích thước của biến extension_modules.
- Một số lỗi Windows-cụ thể đã được cố định.
là gì mới trong phiên bản 0.9:
- Thay đổi kể từ 0.8.4:
- hỗ trợ darcs VCS
- xử lý các tập tin với mac kết thúc dòng
- không tìm kiếm tất cả các tập tin khi nội tuyến một biến địa phương
- vấn đề đường Cygwin cố định Một số thay đổi từ 0,8:
- biến nội tuyến trong các module khác
- tăng 'rope.contrib.findit.find_definition () `
- module mở rộng tốt hơn xử lý
- tăng 'rope.contrib.findit.find_definition () `
- thêm hỗ trợ GIT trong fscommands
- thông số nội tuyến
- lại nhập tên được gạch chân trong di chuyển
- tăng 'codeassist.get_calltip () `
- tăng 'libutils.analyze_modules () `
- thêm vào `` dự án soa_followed_calls`` cấu hình
- `libutils.report_change ()` `đọc automatic_soa`
- xử lý tài sản trang trí
Yêu cầu :
- Python
Bình luận không