I'm trying to get started with what should be a very simple Solidity contract but VSCode is giving me a hard time. I'm using Juan Blancos solidity plugin but VSCode cannot find openzepplin imports
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
The error is:
Source "@openzeppelin/contracts/token/ERC20/ERC20.sol" not found: File import callback not supported
Even though vscode shows red squigglies I can compile successfully via hardhat compile.
If I change the path to
import "../node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol";
VScode stops complaining but then I cannot compile via hardhard, with the error being:
Source "node_modules/@openzeppelin/contracts/security/Pausable.sol" not found: File outside of allowed directories.
My VSCode settings for Solidity extension for both User and Workspace are:
"solidity.packageDefaultDependenciesContractsDirectory": "contracts",
"solidity.packageDefaultDependenciesDirectory": "node_modules"
Which corresponds to my project structure
root
|_ contracts
|_ MyToken.sol
|_ node_modules
|_ @openzepplin
I followed the instructions here and have done extensive researching but unfortunately can't get it to working.
Source "@openzeppelin/contracts/token/ERC20/ERC20.sol" not found: File import callback not supported
I had same issue. I had multiple folders added in the unnamed
workspace. After removing all other folders and keeping only one project folder resolved issue for me.
Linting issues If you see something along the lines of:
ParserError: Source "OpenZeppelin/[email protected]/contracts/access/Ownable.sol" not found: File not found.
import "@openzeppelin/contracts/access/Ownable.sol";
In your vscode, these and be safely ignored. However you can also add to your settings to ignore these.
{
"solidity.remappings": [
"@chainlink/=/Users/patrick/.brownie/packages/smartcontractkit/[email protected]",
"@openzeppelin/=/Users/patrick/.brownie/packages/OpenZeppelin/[email protected]"
]
}
Or whatever version your @chainlink and @openzeppelin contracts need. For example:
For more information see here
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With