Utilisation du plugin ktlint de style code dans un projet Kotlin. Un guide rapide pour un développeur backend

Je suis développeur Java / Kotlin chez EPAM.





Dans le premier article, j'ai parlé de mon projet - Brain-Up . Dans cet article, je souhaite partager mon expérience dans la mise en place du plugin ktlint pour un projet Kotlin.





Ce plugin permet de garantir un style de code cohérent dans tout le projet. Il s'appuie sur les directives officielles de formatage du code Kotlin de JetBrains. En utilisant cet outil, vous pouvez non seulement vérifier le code, mais également le formater.





Lors de la configuration de ktlint, je cherchais des informations, une description, et il m'a semblé que peu d'attention avait été accordée au sujet de configuration de ce plugin dans les revues, et les réponses aux questions qui apparaissaient n'étaient pas évidentes. 





Par conséquent, j'ai décidé de partager mon expérience, j'espère que quelqu'un trouvera les instructions étape par étape pour se connecter au projet utiles. Cet exemple est pertinent pour un projet sur Kotlin 1.4, gradle 6.0. 





#une. Ajouter une dépendance à build.gradle par plugin

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



# 2. Ajout d'une tâche 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