Does a similar tool exist for Solidity source code, ideally according to the Solidity Style Guide?
I've recently published a Linter for Solidity which aims to comply the the official Style Guide.
Here's the repo
The architecture is pretty similar to that of ESLint so I'm trying to make it as easy-to-use and customizable (including plugging in of custom rules) as ESLint is.
Its under active development right now.
To get started, you could install it via npm:
npm install -g solium
Browse to the root directory of your project and run
.soliumrc.json (determines which rules to enable and handles plugging in of custom rules) &
.soliumignore (specifies which files and folders to ignore)
To run the linter on a single file, simply use:
solium --file path/to/myfile.sol
To lint over your entire project (all .sol files), use:
to enable hot reloading.
Hopefully, this improves workflow & developer productivity, since I've been facing a lot of trouble developing for Ethereum platform, because of the lack of dev tools. Hope you find it useful!
There's a work in progress towards a plugin for prettier that formats solidity code: https://github.com/prettier-solidity/prettier-plugin-solidity As with prettier, the goal is to have an opinionated tool that takes your code, builds its AST and prints it again.
(Disclaimer: I'm one of the contributors)
Solium linter plugin for sublime text
The 2023 answer is to use
forge fmt. https://book.getfoundry.sh/reference/config/formatter
Do that once and be liberated from this issue
This is available now for IntelliJ (and related IDEs):
This is a linter that provides security, style and best practice validations.
You may install it with
npm install -g solhint
For validation you need put in arguments glob expression of path to your code
I believe this tool with be useful for your project!
You can use YAKINDU Soliditiy Tools, its open source and it has some other interesting features even if it is currently in beta phase.