简单的源代码验证器,具有文件重排选项(删除尾随空格,美观打印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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 82fffaf0637bf691a8f896d9c66cf7c2d94eb03e7bcb46850aff2e082fd6d415 |
|
MD5 | 8f5b9e90f4d168c089f082711a98b1ba |
|
BLAKE2b-256 | b95f71cfe7cae87ffea2ace6e1c24c681ad2ab9a66c172bdf1f39e6a391ca61b |