我正在努力配置我的 Vscode 正常作業。
我已經匯入了 openzeppelin 的合約 - ERC721.sol 現在我希望它的函式 _mint() 在我開始在我的合約中輸入它時可以在智能感知中使用,但是如果我開始輸入它然后單擊 Ctrl 空格,我會看到以下內容:

同時,如果我明確輸入合同名稱 - 然后我可以看到智能感知自動完成:

一旦我開始輸入它,我怎樣才能簡單地獲得這個功能的智能建議?
更新:我提供了一個更大的代碼片段,并簡化到最低限度,以用于示例目的。
更新:我意識到現在在 vscode solidity 插件中的自動完成功能會忽略來自 node_modules 的模塊。快速測驗它的方法 - 我將我的合同檔案放入 ERC721.sol 旁邊的 openzeppelin 模塊檔案夾中 - 自動完成作業正常。(由@marko-popovic 建議)
但是問題仍然是一樣的:難道不能這樣做,以便我可以對 node_modules 中存在并匯入到我的合同中的模塊使用自動完成功能嗎?
uj5u.com熱心網友回復:
在您的情況下,ERC721 是從 NPM 匯入的(使用 @),??而擴展演示視頻中的匯入檔案與匯入它們的合約位于同一目錄中。
要啟用智能感知,請繼續使用 NPM 匯入樣式并在方法名稱前加上前綴ERC721.(這是我的建議),或者手動將 openzepellin 代碼移動到與您的合同相同的檔案夾中。
最后,您無法使用當前版本的擴展來實作這一點,因為它顯然可以正常作業,但是對于不同型別的匯入有此限制。這可能會在未來的某個版本中得到改進,但如果您想立即獲得該功能,您將不得不手動移動代碼或尋找另一個擴展。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/418772.html
標籤:
上一篇:Jupyter/VisualStudioCode中的<IPython.core.display.HTMLobject>訊息
