Solidity is the language used in Ethereum to create smart contracts, this extension provides:
• Syntax highlighting
• Snippets
• Compilation of the current contract (Press F1 Solidity : Compile Current Solidity Contract), or F5
• Compilation of all the contracts (Press F1 Solidity : Compile all Solidity Contracts), or Ctrl + F5 or Cmd + F5
• Code completion for all contracts / libraries in the current file and all referenced imports
• Goto definition
• Find all references in project
• Hover information
• Code actions / quick fixes (change compiler, format address, add sdpx license.. )
• Mono repo support (identifies the project by finding the files: remappings.txt, foundry.toml, brownie-config.yaml, truffle-config.js, hardhat.config.js, hardhat.config.ts)
• Default project structure (solidity files needs to be in the src/ directory, and libraries in the lib/ directory). Libraries will follow the same structure.
• Compilation supporting EIP82 (dappfile and dependency packages)
• Support for different solidity versions (Remote and local)
• Download source code and Abi from Etherscan
• Code generation using Nethereum, it includes currently the default template for Nethereum service, dtos generation. (Open 'contractName.json' after compilation from the bin folder. Press F1 and press Solidity: Code generate from compilation output..) Auto generation of Nethereum files on compilation
• Linting using Solhint or Ethlint