Android studio lint不适用于kotlin项目。 我找不到硬编码的字符串。 什么可以解决这个问题?
答案 0 :(得分:0)
使用“编辑/查找” /“在路径中查找”(在Mac上,快捷键为Cmd + Shift + F)。
然后选择“ Regex?”上的复选框在“查找路径”窗口的顶部,然后在搜索输入中键入\"*\"
。
然后选择在目录中搜索,然后选择包含kotlin文件的目录。在/activities
和/fragments
(以及可能包含kotlin代码的任何其他目录)中分别进行搜索。
(要搜索原始字符串,请使用\"\"\"*\"
。)
Screenshot of "Find in Path" search for strings example
我不确定这是否是100%可靠的解决方案,但是它对我有用。 “分析->按名称运行检查”,然后键入“硬编码字符串” 对我不起作用。
答案 1 :(得分:0)
执行这些对我有用的步骤
Dim i(0 To 1) As Integer
'Using negatives to prove things aren't longs, because of the sign bit
i(0) = -2 ^ 15 + (2 ^ 0) '10000000 00000001
i(1) = -2 ^ 15 + (2 ^ 1) '10000000 00000010
Dim bytes(0 To 3) As Byte
CopyMemory VarPtr(bytes(0)), VarPtr(i(0)), 4
Dim l As Long
For l = 3 To 0 Step -1
Debug.Print ToBits(bytes(l)) & " ";
'Prints 10000000 00000010 10000000 00000001
Next
'Now, let's write something back
bytes(0) = &HFF '0xFFFF = signed -1
bytes(1) = &HFF
CopyMemory VarPtr(i(0)), VarPtr(bytes(0)), 2
Debug.Print i(0) '-1
或从菜单中选择*.kt
下拉。kt
,您现在可以看到结果。= \"\w+\"
搜索
正确。答案 2 :(得分:0)
我建议在Kotlin中使用Detekt进行静态分析,特别是string literal duplication。
答案 3 :(得分:0)
嗯,大概有一个更新。 Kotlin IDE确实了解org.jetbrains.annotations.PropertyKey 11,但它并不总是有效。 如果捆绑包包含多种语言,我会遇到问题。
示例:
fun message(@PropertyKey(resourceBundle = "Messages") id: String) =
ResourceBundle.getBundle("Messages").getString(sid) ?: "###$id###"