编辑器
Remix使用Monaco编辑器。VSCode也使用相同的编辑器。
Remix每5秒保存一次当前文件。
Remix 编辑器会高亮显示 Solidity、JS和TS 中的关键词。
编辑器会显示来自其他插件的信息。
编辑器的主要目的当然是编辑代码。但它还可以与其他插件一起使用,特别是 Solidity 编译器和调试工具。
Solidity编译器将在有问题行时,在Editor边栏中显示警告和错误信息。
调试程序时,可在Editor边栏打上断点。
在Debugger中逐步执行代码时,相关代码将在Editor中突出显示。
常规操作
文件以选项卡形式打开。当选项卡太多无法显示时,使用鼠标滚轮可以水平滚动选项卡。
播放按钮在活动选项卡上可以工作。如果当前激活的是Solidity文件,则单击“播放”将对其进行编译。如果当前激活的是TS或JS文件,则单击“播放”将运行脚本。
左上角的放大镜图标(+/-)可增加/减小字体大小。
编辑器最右侧的小型文本可点击跳转到某个部分。
TypeScript
编辑器和脚本运行程序支持TypeScript,这意味着您可以编写TypeScript代码,并在Remix中进行自动完成和直接运行。如上所述,TS具有语法高亮功能。
默认工作区包含示例TypeScript文件。
编辑器和自动编译
当启用自动编译(在设置面板中)时,每次更改当前文件或选择另一个文件时都会进行编译。
自动补全
在编辑器中开始输入时,Solidity代码的自动补全会发生。编译器将在后台运行,并处理您拥有的任何导入。您将看到这些导入出现在文件资源管理器中的.deps目录中。
提示:如果您开始就使用有错误的Solidity文件,则编译器可能无法对其进行编译。在这种情况下,编辑器的自动补全功能直到成功编译该文件后才能完全工作。之后,即使存在错误,自动补全也仅适用于编译器已经理解的元素。例如,在包含错误的文件中添加新函数时,自动完成将无法找到该函数,因为它无法编译该文件。
导入自动补全
编辑器的自动补全功能将提供引入OpenZeppelin合约、Uniswap合约以及当前工作区中所有文件路径的选项。
因此,当选择@openzeppelin时,您将会得到以下内容:
Uniswap也一样
错误和警告
如果编辑器中没有显示任何错误或警告,那么您可以确定文件已经成功编译。使用波浪线来显示错误信息。红色的波浪线表示有一个错误,黄色的波浪线则是一个警告。
将鼠标悬停在波浪线上会显示编译器的消息。
选项卡和文件资源管理器还会显示文件是否包含错误或警告。
导入的文件中出现错误
如果文件中导入的其中一个文件存在错误,编辑器也会触发一个错误。你的主要文件可能无法编译,但是你将立即看到有问题。
在文件资源管理器中悬停在错误编号上
一个文件中的错误数量也报告在了 文件资源管理器 中。悬停在数字上,它表示 错误/警告 的数量,并且将显示来自编译器的信息。
Quick Fixes for common mistakes
The Remix editor offers solutions to the following missing keywords & code:
License
Pragma
Visibility
Mutability
Data Location (storage, memory, etc)
Add virtual or override
Marking a contract abstract
A Quick Fix option is available when there is a blue dot in Editor - like in the image below.
In this example, the license has been left out. After compilation, a warning is triggered and a Quick Fix blue dot appears.
When you click on the blue dot, a popup menu appears. In this case of a missing license, these are the options:
If you can’t get the Quick Fix blue dot to appear, try clicking on the number for the line where the error occurs.
Gas 估算
Gas估算显示在声明函数的同一行。
构造函数的Gas估算也会被显示,包括两个组成部分:创建成本和代码存储成本。
转到定义和引用
定义
通过右键单击,您可以转到定义。您还可以使用快捷方式进行操作。
您还可以右键单击导入语句的文件名并跳转到该文件。
您还可以在编辑器中“查看”内联定义。然后,通过双击行右侧来跳转到定义。
引用
通过右键单击,您可以显示所有的引用。您也可以使用快捷方式进行操作。
双击行右侧即可跳转到相应的引用。
突出显示的引用
在编辑器中,引用会被突出显示。
悬停提示
当您将鼠标悬停在带有定义的术语上时,定义将弹出。当您将鼠标悬停在触发错误(下划线为红色波浪线)的代码上时,会显示错误消息。
文件出现错误时会变成红色
当一个文件包含错误时,它的名称将在“文件资源管理器”中和编辑器顶部的选项卡上变为红色。
有关编辑器更新的更多信息,请参阅此文章:Remix 编辑器的重大更新