我正在尝试在 VScode 中运行一个简单的代码。
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.0;
import "hardhat/console.sol";
contract WavePortal {
constructor() {
console.log("Yo yo, I am a contract and I am smart");
}
}
当我尝试编译代码时,它显示以下错误
这是我的launch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "solidityMeadow",
"request": "launch",
"name": "Debug Solidity (via unit test run)"
},
{
"type": "solidity",
"request": "launch",
"name": "Debug Solidity (via contract entry point)"
},
{
"type": "solidity",
"request": "launch",
"name": "Debug Solidity"
}
]
}
尝试重新安装您的扩展。这是一个已知错误。上次 VSCode 升级后发生。
首先,它提示我在 VS Code 中安装“Solidity Debugger”。 然后,它提示我安装.NET Core 2.1 SDK,我已经安装了.NET 7.0 SDK。
“以太坊区块链开发套件”已被弃用,因此我安装了“Truffle for VS Code”。
如果我按F5一次,就会说编译成功。
如果我按 F5 两次,“无法找到调试类型‘solidity’的调试适配器描述符(扩展可能无法激活)”错误仍然会出现。
但是,我仍然可以将其编译并发布到区块链中。
我在 M1 PRO 上,这就是我所做的,然后“无法找到调试适配器描述符...”错误警报消失了,我能够选择主机应用程序并开始调试:
我的launch.json:
{
"version": "0.2.0",
"configurations": [
{
"type": "extendscript-debug",
"request": "attach",
"name": "extendScript-Debug attach"
}
]
}
希望有帮助
不知道是否还需要帮助。但万一有人发现这篇文章。我有同样的问题。但后来我帮我修好了。我所做的是在 VSCode 中安装扩展“Blockchain Development Kit for Ethereum”。然后只需使用 CTRL+SHIFT+P 创建一个新项目并输入“Blockchain:”。选择选项“创建 Solidity 项目”。应该修复这个错误。