跳转到主要内容

简单的源代码验证器,具有文件重排选项(删除尾随空格,美观打印XML等)

项目描述

简单的源代码验证器,具有文件重排选项(删除尾随空格,美观打印XML等)。

对于Python代码格式化,它可以使用autopep8或内置的PythonTidy副本。

需求

  • Python 2.7+

  • lxml(用于XML格式化)

  • pep8(用于Python检查)

  • autopep8(用于Python格式化)

  • pyflakes(用于静态Python代码检查)

  • Jalopy(用于Java代码格式化)

  • coffeelint(用于CoffeeScript验证)

  • PHP_CodeSniffer(用于PHP样式检查)

  • Puppet(用于Puppet清单验证)

  • sqlparse

  • jshint(用于JavaScript检查)

  • PyYAML(用于YAML检查)

  • Ruby(用于Ruby代码检查)

  • Rubygems(用于Ruby代码检查与rubocop)

  • erb和ruby(用于ERB模板检查)

在Ubuntu上,您可以通过以下方式轻松安装大多数包

sudo apt-get install python-lxml pep8 pyflakes nodejs npm python-sqlparse python-yaml ruby rubygems
sudo npm install -g jshint
sudo gem i rubocop

如果您正在使用Jalopy,为了更好的性能,也可以安装Nailgun

sudo apt-get install nailgun

然后使用以下命令启动nailgun服务器

java -cp /usr/share/java/nailgun-0.9.0.jar:/opt/jalopy/lib/jalopy-1.9.4.jar -server com.martiansoftware.nailgun.NGServer

安装

安装codevalidator至少有两种方式

  • 方案1:直接使用codevalidator源代码树(即克隆GIT仓库并将codevalidator.py放入您的PATH中)

    git clone https://github.com/hjacobs/codevalidator.git
    sudo ln -s codevalidator/codevalidator.py /usr/local/bin/codevalidator.py
  • 方案2:使用PIP从PyPI安装codevalidator

    sudo pip install codevalidator
  • 方案3:使用Docker获取所有依赖项并在不影响本地系统的情况下运行codevalidator

    docker build -t codevalidator .
    # we can mount the current directory into "workdir" volume to validate the local directory recursively
    docker run -v `pwd`:/workdir -t codevalidator -rvv /workdir/

入门指南

使用内置默认配置验证测试文件

./codevalidator.py test/*

修复测试文件(删除尾随空格,XML格式)

./codevalidator.py -f test/*

使用自定义配置文件

./codevalidator.py -c test/config.json test/*

验证和修复整个目录树

./codevalidator.py -c myconfig.json -rf /path/to/mydirectory

验证单个PHP文件并打印详细错误消息(需要安装PHP_CodeSniffer和PSR标准!)

./codevalidator.py -v test/test.php

以非常详细(调试)模式运行以查看验证内容

./codevalidator.py -vvrc test/config.json test

使用过滤器模式“修复”stdin并写入stdout

echo 'print 1' | ./codevalidator.py --fix --filter foobar.py && echo success

如果您对“.XX.pre-cvfix”备份文件感到厌烦,可以在命令行(--no-backup)或配置文件中禁用它们。

配置

Codevalidator使用文件名模式到“规则”的映射,以便知道应该为特定文件应用哪些验证规则。脚本包含一个相对合理的默认配置(请参阅DEFAULT_CONFIG,位于codevalidator.py顶部)。您可以通过在您的家目录中放置一个.codevalidatorrc文件来覆盖配置。文件必须是JSON格式,并且必须与DEFAULT_CONFIG具有相同的结构。

高级用法

您可以使用--fix --filter组合直接过滤VIM当前缓冲区。

:%!codevalidator.py --fix --filter %

--fix --filter也旨在与GIT过滤器一起使用。

要一次应用格式化规则而不更改配置文件,您可以使用-a选项。使用pythontidy规则一次性格式化Python文件如下所示:

./codevalidator.py -a pythontidy myfile.py

已知问题

  • PythonTidy无法解析字典推导。作为解决方案,您可以使用列表推导并用dict包裹。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。

源代码分发

codevalidator-0.8.2.tar.gz (38.2 kB 查看哈希值)

上传时间 源代码

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面