http://www.7klian.com

Solidity Linting和Formatting的利用教程





一个很大的问题:默认环境下,很少有法则被启用。颠末一些试验和错误后,我发明solhint:稍微好一些(与solhint对比:Solhint在文档中列出的默认值)。

将prettier呼吁添加到package.json中。--write符号将名目化并包围现有文件。按照prettier文档,最好先提交接码。


}

Solhint行动

个中有两个东西是触及了开拓人员事情流程最焦点的部门编写代码:

安装Prettier




你应该在项目标根目次中建设一个./solhint.json文件。这个文件指定了您但愿solhint为哪个法则执行lint。solhint对安详法则、样式指南法则和最佳实践法则有着很是精彩的包围。

在本教程中,我们将重点先容solhint,,不外我强烈发起您实验一下ethlint。

您可以阅读Prettier文档以获取更多具体信息。您还可以在.prettierignore中指定要忽略的文件。

安装solhint-plugin-prettier,这使得solhint可以很好地利用prettier solidity。


"solhint": "./node_modules/.bin/solhint -f table contracts/**/*.sol"


· linters自动阐明代码是否存在大概的编程样式错误(常见示例:eslint for javascript)
"plugins": ["prettier"]






Linter


"singleQuote": true
Prettier是一款精彩的东西,可按照预界说的样式指南自动名目化代码库。只需在团队层面上就法则告竣一致,然后Prettier将以沟通的方法自动编码每小我私家的代码。







{





Solhint ignores


> ./node_modules/.bin/solhint init-config











· -f表以表格形式显示功效。您可以选择其他选项(譬喻unix,tap)


migrations/

},
}


{
设置Prettier

> npm run prettier:solidity


"avoid-throw": false,
> npm run solhint



上面的呼吁有几点需要留意:

"avoid-throw": false,
利用根基设置文件初始化solhint。





"plugins": [],


"avoid-sha3": "warn"


"rules": {
prettier solidity是与solhint一起利用的solidity文件的prettier。它有助于自动修复solhint发明的很多错误,出格是像缩进和代码样式这样简朴的错误。

node_modules/
编辑package.json以包括一个新脚原来运行Solhint。

"rules": {

你可以利用.prettierrc文件设置prettier。大大都法则都是利用solhint现成的,但您大概需要添加或封锁个中的一些法则。我发起你保持法则只管简短。


"extends": ["solhint:recommended"],
}

"avoid-suicide": "error",
然后更新./solhint.json以将Prettier添加为插件和法则。




Solhint


> npm install --save-dev solhint-plugin-prettier

以太坊开拓人员社区开始开拓一些很是棒的东西,让我们越发靠近自动化的事情流和开拓人员的“cockpit”,譬喻我们此刻利用的较量成熟的语言:javascript或go。





与.gitignore雷同,您可以获取solhint去忽略文件和文件夹


}



首先,确保您位于项目根目次中,然后利用NPM或Yarn添加solhint模块。


然后在输入呼吁行

Formatter

· Formatters按照预界说的法则和缩进默认值自动名目化代码(例子:gofmt for go)




"avoid-suicide": "error",
设置Solhint利用Prettier



您大概会看到一堆错误,尤其是缩进和样式错误。您无需手动修复这些!我们的下一个东西(formatter)将对此有所辅佐。


·我们在利用Truffle框架的repo的情况中涉及到这些东西,可是这些步调可以合用于任何框架中。




> npm install --save-dev solhint



> npm install --save-dev prettier prettier-plugin-solidity


"prettier:solidity": "./node_modules/.bin/prettier --write contracts/**/*.sol"

"printWidth": 100,


{

"extends": "solhint:recommended",


· Solhint运行在与文件模式匹配的globs上。在上面,它运行在contract目次中的所有** / * .sol文件中

"prettier/prettier": "error",


Solhint剧本



"avoid-sha3": "warn"

运行Prettier-Solidity

我强烈发起您欣赏一下法则列表并添加到您想要的./solhint.json。我小我私家发明安详法则和最佳实践很是有用。


设置Solhint





郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。