Gần đây tôi đã xem qua số flake8
, đây là một trình bao bọc tiện dụng xung quanh một vài bộ kiểm tra tĩnh python khác nhau và có vẻ như rất hay. Nhưng làm thế nào để tôi sử dụng một công cụ như thế này với Eclipse? Tôi quan tâm đến việc khởi chạy dễ dàng hơn và cũng như việc sử dụng các lỗi/cảnh báo một cách thuận tiện.Làm cách nào để sử dụng trình kiểm tra tĩnh python với Eclipse?
Trả lời
Đây là cách tôi thiết lập nó để sử dụng trên một tập tin duy nhất tại một thời điểm:
FYI, như là bước đầu tiên, tôi đã cài đặt
flake8
sử dụngpip
.Thiết lập
flake8
như một loại công cụ bên ngoài Runnable trong Eclipse và cấu hình nó2.1. Tạo một công cụ cài đặt trước công cụ bên ngoài - đi đến biểu tượng công cụ bên ngoài (biểu tượng công cụ bên ngoài với một va li) và nhấp vào mũi tên thả xuống bên cạnh nó và chọn "Cấu hình công cụ bên ngoài ..."
2.2. Đặt vị trí thành đường dẫn đầy đủ đến
flake8
2.3.
flake8
không cần bất kỳ tệp đường dẫn tương đối nào, do đó bạn có thể đặt thư mục làm việc thành một giá trị không quan tâm tốt (ví dụ:/tmp
)2.4. Đặt đối số cho bất kỳ tùy chọn nào
flake8
bạn muốn, theo sau là${selected_resource_loc}
Thiết lập đánh dấu và nhảy nhanh cho cảnh báo
flake8
xuất hiện trong bảng điều khiển. Tôi đã sử dụng plugin Console Grep cho Eclipse để thực hiện việc này:3.1. Cài đặt plugin Bảng điều khiển Grep (trang web cập nhật: http://eclipse.schedenig.name)
3.2. Nhấp vào biểu tượng
(?)
trên thanh công cụ của giao diện điều khiển xem3.3. Thêm thư mục, đặt tên là
flake8
3.4. Thêm biểu thức vào thư mục và đặt tên là
warning line
3.5. Đặt biểu thức thành:
^(.*.py):([0-9]+):([0-9]+): .*
3.6. Nhấp vào kiểu "Cảnh báo" và nhấp vào chỉ định
3.7. Bạn sẽ thấy một giao diện điều khiển trong bản xem trước ở dưới cùng và nếu có cảnh báo hiển thị và regex của bạn đang hoạt động, chúng sẽ được đánh dấu bằng màu cảnh báo
3.8. Nhấp đúp vào cột liên kết bên cạnh "toàn bộ dòng"
3.9. Đặt giá trị cột liên kết thành "tệp"
3.10. Đặt "Tệp" thành
{1}
3.11. Đặt "Số dòng" thành
{2}
3.12. Đặt "Offset (column)" thành
{3}
3.13.Ok, Ok, Ok
3.14. Ctrl-nhấp vào một cảnh báo trong bảng điều khiển và kiểm tra xem nó có nằm trong dòng trong tệp hay không.
Bây giờ tôi đã điều chỉnh tùy chọn
flake8
theo cách mình muốn.4.1. Đặt --max-line-length = 128 hoặc thậm chí cao hơn =)
4.2. Thêm tùy chọn --ignore = vào các đối số công cụ bên ngoài flake8 với danh sách các số cảnh báo được phân cách bằng dấu phẩy để bỏ qua. Những cảnh báo và tôi bỏ qua:
- W293 dòng trống chứa khoảng trắng
- W291 dấu khoảng trắng
- E261 ít nhất hai không gian trước khi bình luận inline
- E262 comment inline nên bắt đầu với "
#
"
4.3. Tôi muốn có một lựa chọn các tùy chọn flake khác nhau - thỉnh thoảng tôi muốn sử dụng
--show-pep8
, vì vậy tôi đã tạo nhiều cấu hình "công cụ ngoài"flake8
với các tùy chọn khác nhau và tôi có thể chọn một tùy chọn mà tôi muốn cho một hoạt động cụ thể từ công cụ gắn ngoài
- 1. Làm cách nào để sử dụng trình kiểm tra JUnit Parameterized JUnit với trường được tiêm bằng Spring?
- 2. kiểm tra đơn vị python cách làm thế nào để
- 3. Mã Java Sử dụng Trình kiểm tra
- 4. Làm thế nào để sử dụng JUnit với Eclipse
- 5. Cách kiểm tra hàm tĩnh
- 6. Trình kiểm tra chính tả Eclipse - Làm cách nào để xóa một từ tôi đã thêm?
- 7. Cách sử dụng Trình kiểm tra ứng dụng Microsoft
- 8. Làm cách nào để kiểm tra EOF bằng Python?
- 9. Làm cách nào để kiểm tra loại biến? Python
- 10. Sử dụng SUDS để kiểm tra WSDL
- 11. Làm cách nào để kiểm tra xem phương pháp có tĩnh hay không bằng cách sử dụng phản chiếu?
- 12. Trình kiểm tra tĩnh miễn phí cho mã C99
- 13. Làm cách nào để bạn kiểm tra trình kiểm tra OpenGL được viết bằng GLSL?
- 14. Viết Trình kiểm tra SSL bằng cách sử dụng Java
- 15. Làm cách nào để kiểm tra phân cấp lớp của Python?
- 16. Làm thế nào để kiểm tra ThinkingSphinx sử dụng RSpec
- 17. Làm cách nào để kiểm tra dự án SVN vào Eclipse dưới dạng dự án Java?
- 18. Sử dụng nhanh kiểm tra Kiểm tra với Cabal?
- 19. Tôi làm cách nào để kiểm tra chương trình GUI bằng Python và PyQt?
- 20. Cách sử dụng mod_Rewrite để kiểm tra nhiều thư mục cho một tệp tĩnh
- 21. Kiểm tra bằng Python - cách sử dụng assertRaises trong thử nghiệm bằng cách sử dụng unittest?
- 22. Python: kiểm tra xem phương pháp là tĩnh
- 23. Làm cách nào để kiểm tra xem chèn đã thành công với MySQLdb bằng Python?
- 24. Làm thế nào để sử dụng py.test từ Python?
- 25. Làm cách nào để kiểm tra cách khách hàng sử dụng ứng dụng Cocoa của tôi?
- 26. Làm thế nào để bạn sử dụng telnet để kiểm tra kết nối với Oracle?
- 27. Làm cách nào để chỉ định địa chỉ IP với trình kiểm tra Django?
- 28. Trình kiểm tra chính tả nào gedit sử dụng?
- 29. Làm cách nào để kiểm tra với NSUserDefaults?
- 30. Làm cách nào để kiểm tra sự bình đẳng từ điển với gói doctest của Python?
Tôi đã đặt câu trả lời xuống cho một tệp đơn lẻ, nhưng tôi muốn nghe các giải pháp thay thế. – rakslice
Ngoài ra, có rất nhiều câu trả lời hay cho các trình kiểm tra tĩnh C/C++ dựa trên các tính năng được xây dựng trong plugin CDT của Eclipse, nhưng cũng không có sự trợ giúp nào cho tôi khi tôi không sử dụng C/C++. – rakslice
Hiện có một bản dựng sẵn: http://stackoverflow.com/questions/399956/how-to-integrate-pep8-py-in-eclipse – rakslice