2013-06-11 27 views
5

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?

+0

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

+0

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

+1

Hiện có một bản dựng sẵn: http://stackoverflow.com/questions/399956/how-to-integrate-pep8-py-in-eclipse – rakslice

Trả lời

3

Đâ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:

  1. FYI, như là bước đầu tiên, tôi đã cài đặt flake8 sử dụng pip.

  2. 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}

  3. 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 xem

    3.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.

  4. 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

Các vấn đề liên quan