Verwenden des ktlint-Plugins im Codestil in einem Kotlin-Projekt. Eine Kurzanleitung für einen Backend-Entwickler

Ich bin ein Java / Kotlin-Entwickler bei EPAM.





Im ersten Artikel habe ich über mein Projekt gesprochen - Brain-Up . In diesem Artikel möchte ich meine Erfahrungen beim Einrichten des ktlint- Plugins für ein Kotlin-Projekt mitteilen .





Dieses Plugin hilft dabei, einen konsistenten Codestil im gesamten Projekt sicherzustellen. Es baut auf den offiziellen Richtlinien zur Formatierung von Kotlin-Code von JetBrains auf. Mit diesem Tool können Sie den Code nicht nur überprüfen, sondern auch formatieren.





Während ich ktlint einrichtete, suchte ich nach Informationen, einer Beschreibung, und es schien mir, dass dem Konfigurationsthema dieses Plugins in den Testberichten wenig Aufmerksamkeit geschenkt wurde und die Antworten auf die aufgetretenen Fragen nicht offensichtlich waren. 





Aus diesem Grund habe ich beschlossen, meine Erfahrungen zu teilen. Ich hoffe, dass jemand die schrittweisen Anweisungen zum Herstellen einer Verbindung zum Projekt hilfreich findet. Dieses Beispiel ist relevant für ein Projekt auf Kotlin 1.4, Gradle 6.0. 





#einer. Fügen Sie die Abhängigkeit zu build.gradle pro Plugin hinzu

dependencies {    
    ktlint "com.pinterest:ktlint:0.38.0"
}
      
      



# 2. Hinzufügen einer Gradle-Aufgabe `ktlintFormat`

   , ..  , / - , . 





task ktlintFormat(type: JavaExec, group: "formatting") 
{
    description = "Fix Kotlin code style deviations."    
    classpath = configurations.ktlint    
    main = "com.pinterest.ktlint.Main"    
    args "-F", "src/*/.kt"
}
      
      



#3. gradle `ktlint`

project.task("ktlint", type: JavaExec) {    
    group = "verification"    
    description = "Runs ktlint."    
    main = "com.pinterest.ktlint.Main"    
    classpath = project.configurations.ktlint    
    args = [            
        "--reporter=plain",            
        "--reporter=checkstyle,output=${project.buildDir}/reports/ktlint/ktlint-checkstyle-report.xml",            
        "src/*/.kt"    ]
}
      
      



#4. `ktlint`

compileKotlin.dependsOn ktlint
      
      



.  , ,  .     . 





  ,   , ,  . 





.





#5. Idea

File -> Settings -> Code Style -> Kotlin.





#6.

.





 Ctrl+Alt+L,   Idea  . ,  Idea, . 





.





 Idea     ―   ktlintFormat —  .





#7.

-   , ,     .editorconfig







,  . , , ,  ,   Ctrl+Alt+L 



    ktlintFormat 



 , . 





[*.{kt,kts}]
disabled_rules = import-ordering
      
      



   build.gradle  . 2- , . 





, , / code style Kotlin , —  , :  , , . 





, , Open Source Brain-up,     ,  . 





       Sonar Cloud Kotlin ,     , .  












All Articles