2014-08-27 55 views
12

我有一個Cython模塊,我想要lint PEP8樣式,但pylint語法錯誤Cython cdef語法。有沒有人有關於如何維護用於Cython代碼的Python編碼標準的建議?linting的選項Cython代碼

+2

我還沒有聽說過可以做到這一點的工具 - 雖然Cython社區可能會感激,如果你設法弄清楚如何自己做;-) – mgilson 2014-08-27 19:45:58

+0

我認爲你應該揹着'cython'編譯器檢測哪些代碼塊是C,哪些是Python。一旦完成,您可能會破解linter和/或將Python塊映射到語法等價的Python代碼,這些代碼可以與現有工具一起使用。 – 2014-12-12 10:40:50

回答

1

我使用SublimeLite的Sublime文本編輯器Flake8 package

我Flake8配置爲:

"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」鍵用來定義忽略一些由棉絨報告的錯誤的正則表達式。

在這種情況下,我用它來忽略.pyx文件中的語法錯誤。您可以定義新的表達式以滿足您的需求。

對不起,因爲它不是一個Cython的linter,它只是一個讓Python linter有用的技巧。

更多的信息在sublimelinter official docs