Skip to content

lint: Enable unused import checks #21208

Description

@david-allison

These were disabled in ktlint 1.7 and is now opt-in. ktlint planned to remove these checks, but this decision has been reversed

Ktlint analyses code on a file by file base. Meaning, that all linting/formatting decisions have to be made based on information in the file that is being processed. Information in other files is not taken into account at all. For a 100% reliable detection whether an import is used, or unused, a file needs to be analyzed within the scope of the project and its dependencies.

The no-unused-imports rule is marked as deprecated starting from Ktlint 1.7.0, and will be removed in Ktlint 2.0.0. Until the rule is removed, it can be used by explicitly enabling the rule in the .editorconfig, by adding:


I will use detekt for this: https://detekt.dev/

I have been planning to enable detekt for a while, and this is a sufficient reason to start. Detekt bugfixes should be added as TODOs

Metadata

Metadata

Assignees

No one assigned

    Labels

    Blocked by dependencyCurrently blocked by some other dependent / related change

    Type

    No type

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions