我正在尝试从一个非常简单的 Solidity 合约开始,但 VSCode 让我很难过。我正在使用 Juan Blancos solidity 插件,但 VSCode 找不到 openzepplin 导入
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
错误是:
未找到源“@openzeppelin/contracts/token/ERC20/ERC20.sol”:不支持文件导入回调
即使 vscode 显示红色波浪线,我也可以通过hardhat compile成功编译。
如果我将路径更改为
import "../node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol";
VScode 停止抱怨,但后来我无法通过硬硬编译,错误是:
找不到源“node_modules/@openzeppelin/contracts/security/Pausable.sol”:文件超出允许的目录。
我的用户和工作区的 Solidity 扩展的 VSCode 设置是:
"solidity.packageDefaultDependenciesContractsDirectory": "contracts",
"solidity.packageDefaultDependenciesDirectory": "node_modules"
这对应于我的项目结构
root
|_ contracts
|_ MyToken.sol
|_ node_modules
|_ @openzepplin
我按照此处的说明进行了广泛的研究,但不幸的是无法使其正常工作。