我有一个用kotlin写的课。 当我右键单击class.kt并按Analyze-> Inspect Code时,我会收到kotlin警告。
如果我从命令行运行./gradlew lint,我看不到class.kt警告。我确实看到了其他警告,但没有Kotlin警告 命令行中是否有任何遗漏?
我正在使用Android Sudio 3.1
答案 0 :(得分:1)
有两组不同的代码检查:由Google构建的特定于Android的lint检查,以及由JetBrains构建的一般Kotlin代码检查。
分析| Inspect Code显示运行两组检查的结果:代码检查是IntelliJ IDEA的“原生”,Android工具团队已将Android lint检查集成到IntelliJ IDEA中。
运行Option Compare Text
Option Explicit On
Option Infer On
Option Strict On
Imports DocumentFormat.OpenXml
Imports DocumentFormat.OpenXml.Packaging
Imports DocumentFormat.OpenXml.Wordprocessing
Public Class Form1
Const strMyDoc As String = "C:\Users\eric\Desktop\vb testing purpose\test.docx"
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'OpenDocument
Dim doc As WordprocessingDocument = WordprocessingDocument.Open(strMyDoc, True)
Dim m As MainDocumentPart = doc.AddMainDocumentPart()
m.Document = New Document()
Dim b1 As Body = New Body()
'code to support orientation And margins
Dim sectProp As SectionProperties = New SectionProperties()
Dim PageSize As PageSize = New PageSize() With {.Width = 16838, .Height = 11906, .Orient = PageOrientationValues.Landscape}
Dim PageMargin As PageMargin = New PageMargin() With {.Top = 720, .Right = 720, .Bottom = 720, .Left = 720}
sectProp.Append(PageSize)
sectProp.Append(PageMargin)
b1.Append(sectProp)
doc.Close()
Process.Start(strMyDoc)
End Sub
End Class
仅运行 Android特定的lint检查。他们确实增加了在最近版本的Android Studio中对这些检查处理Kotlin代码的可能性,但他们仍然只检查特定于Android的问题,而不是Kotlin代码的一般问题。
如果您想从命令行运行IntelliJ IDEA的检查,您可以按IntelliJ IDEA documentation中所述使用./gradlew lint
,也可以使用JetBrains正在处理的实验Gradle plugin for running IntelliJ IDEA inspections 。请注意,该插件不会作为inspect.sh
的一部分运行;您需要运行单独的Gradle任务来运行其检查。