【发布时间】:2018-07-24 04:53:39
【问题描述】:
Android Studio lint 不适用于 kotlin 项目。 我找不到硬编码的字符串。 有什么办法可以解决这个问题?
【问题讨论】:
标签: android-studio kotlin lint
Android Studio lint 不适用于 kotlin 项目。 我找不到硬编码的字符串。 有什么办法可以解决这个问题?
【问题讨论】:
标签: android-studio kotlin lint
使用编辑/查找/“在路径中查找”(Mac 上的快捷键是 Cmd+Shift+F)。
然后选择“正则表达式?”在“在路径中查找”窗口顶部并在搜索输入中键入 \"*\"。
然后选择在 Directory 中搜索,然后选择有 kotlin 文件的目录。在 /activities 和 /fragments(以及任何其他可能有 kotlin 代码的目录)中分别搜索。
(要搜索原始字符串,请使用\"\"\"*\"。)
Screenshot of "Find in Path" search for strings example
我不确定这是否是 100% 可靠的解决方案,但它对我有用。 “分析 -> 按名称运行检查”然后键入“硬编码字符串”对我不起作用。
【讨论】:
这些步骤对我有用
*.kt 或从
下拉。= \"\w+\"你现在可以看到结果了。=\"\w+\" 搜索
正确。【讨论】:
我建议在 Kotlin 中使用 Detekt 进行静态分析,特别是 string literal duplication。
【讨论】:
啊,实际上有一个更新。 Kotlin IDE 确实理解 org.jetbrains.annotations.PropertyKey 11,但它并不总是有效。 如果捆绑包包含一种以上的语言,我会遇到问题。
例子:
fun message(@PropertyKey(resourceBundle = "Messages") id: String) =
ResourceBundle.getBundle("Messages").getString(sid) ?: "###$id###"
【讨论】: