有时,如果我从互联网上复制 100% 有效的 Kotlin 代码并将其粘贴到 Android Studio Window Editor
(mac 版本)中,代码会显示很多错误。我必须通过重新输入可组合函数的名称、属性或修饰符的方法来手动修复这些错误。顺便说一句,在 Xcode 中,当我复制粘贴 Swift 代码时不会出现这样的问题。
示例(取自https://developer.android.com/develop/ui/compose/graphics/draw/overview):
问题 -如何在 Android Studio 中避免这种行为?
这些都不是虚假错误,你无法避免,因为你复制的代码实际上是不完整的。它无法按原样编译和执行,因此 Android Studio 会显示它发现的错误。
在您的特定情况下,唯一缺少的是 的导入语句
Canvas
。您可以将文本光标放在 上Canvas
,然后按Alt+Enter以查看可能的修复列表。如您所见,有多个可能的导入可用。选择哪一个?Android Studio 无法自动确定这一点,但从您个人的情况来看,您知道您需要的是一个可组合函数,因此您可以选择androidx.compose.foundation.Canvas
。这是无法避免的,而且与您在问题中所说的相反,如果您手动输入 ,也会遇到同样的歧义。由于 Android Studio 不知道那是什么,因此它会显示按相关性排序的可能解决方案列表。您可能只是通过按或
Canvas
确认了第一个建议(幸运的是,这是您需要的建议),并没有意识到这会在后台添加缺少的 import 语句。TabEnter您实际上可以影响的唯一事情是告诉 Android Studio 自动导入所有明确的依赖项,即列表中只有一个建议。 您可以在设置中通过选中编辑器 > 常规 > 自动导入 > Kotlin > 动态添加明确导入 复选框来启用此功能。 这不会对您的特定情况有所帮助(因为有多个
Canvas
候选者),但它可能会在其他情况下通过减少您必须手动选择的导入数量来帮助您。