2014-08-27 44 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