2014-08-27 13 views
12

Tôi có một mô-đun Cython mà tôi muốn lint PEP8 kiểu, tuy nhiên pylint lỗi cú pháp trên cú pháp Cython cdef. Có ai có một gợi ý về làm thế nào để duy trì các tiêu chuẩn mã hóa Python cho mã Cython?Tùy chọn cho linting Mã Cython

+2

Tôi đã không nghe nói về một công cụ có thể làm điều này - Mặc dù cộng đồng Cython có thể biết ơn nếu bạn cố gắng tìm ra cách tự mình làm ;-) – mgilson

+0

Tôi nghĩ bạn nên quay trở lại trên 'cython' trình biên dịch để phát hiện các khối mã nào là C và đó là Python. Khi đã xong, bạn có thể hack linter và/hoặc ánh xạ các khối Python để mã Python tương đương cú pháp có thể được tô màu với các công cụ hiện có. –

Trả lời

1

Tôi sử dụng Trình chỉnh sửa văn bản tuyệt vời với SublimeLinter Flake8 package.

My Flake8 cấu hình là:

"flake8": { 
      "@disable": false, 
      "args": [ 
       "--doctests" 
      ], 
      "builtins": "", 
      "excludes": [], 
      "ignore": "", 
      "ignore_match": { 
       "pyx": [ 
        "SyntaxError" 
       ] 
      }, 
      "jobs": "1", 
      "max-complexity": 7, 
      "max-line-length": null, 
      "select": "", 
      "show-code": false 
     }, 

"ignore_match" chìa khóa được sử dụng để xác định biểu thức thông thường mà bỏ qua một số lỗi được báo cáo bởi một Linter.

Trong trường hợp này, tôi đã sử dụng nó để bỏ qua các lỗi cú pháp trong các tệp .pyx. Bạn có thể xác định các biểu thức mới để đáp ứng nhu cầu của mình.

Xin lỗi vì nó không phải là một linter Cython, nó chỉ là một thủ thuật để làm cho Python linter hữu ích.

Thông tin thêm trong sublimelinter official docs.

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