Usando el complemento ktlint de estilo de código en un proyecto de Kotlin. Una guía rápida para un desarrollador de backend

Soy un desarrollador de Java / Kotlin en EPAM.





En el primer artículo hablé de mi proyecto: Brain-Up . En este artículo, quiero compartir mi experiencia en la configuración del complemento ktlint para un proyecto de Kotlin.





Este complemento ayuda a garantizar un estilo de código coherente en todo el proyecto. Se basa en las pautas oficiales de formato de código Kotlin de JetBrains. Con esta herramienta, no solo puede verificar el código, sino también formatearlo.





Mientras configuraba ktlint, buscaba información, una descripción, y me pareció que se prestó poca atención al tema de configuración de este complemento en las revisiones, y las respuestas a las preguntas que aparecieron no eran obvias. 





Por lo tanto, decidí compartir mi experiencia, espero que alguien encuentre útiles las instrucciones paso a paso para conectarse al proyecto. Este ejemplo es relevante para un proyecto en Kotlin 1.4, gradle 6.0. 





#uno. Agregue dependencia a build.gradle por complemento

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



# 2. Agregar una tarea de Gradle `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