You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Spotless中用ktlint禁用compose:vm-forwarding-check规则?@Suppress无效

解决Spotless中ktlint的compose:vm-forwarding-check规则禁用问题
  • 全局禁用该规则
    在Spotless的配置文件(比如build.gradle.kts或build.gradle)中,直接为ktlint指定要禁用的规则。示例配置(build.gradle.kts):

    spotless {
        kotlin {
            ktlint()
                .disabledRules("compose:vm-forwarding-check")
        }
    }
    

    此配置会让整个项目跳过该规则检查,适合无需启用该规则的场景。

  • 局部文件级禁用
    若仅需在单个文件中关闭规则,可在文件顶部添加@file:Suppress("ktlint:compose:vm-forwarding-check")文件级注解,而非普通的类/函数注解。示例:

    @file:Suppress("ktlint:compose:vm-forwarding-check")
    package com.example.myapp
    
    import androidx.compose.runtime.Composable
    import androidx.lifecycle.viewmodel.compose.viewModel
    
    @Composable
    fun MyScreen() {
        val viewModel = viewModel<MyViewModel>()
        // 此处代码不会触发vm-forwarding-check规则
    }
    
  • 检查版本兼容性
    部分旧版本的ktlint或Spotless对compose规则的注解支持存在问题,建议升级至较新版本。示例指定ktlint版本(build.gradle.kts):

    spotless {
        kotlin {
            ktlint("0.50.0") // 使用较新的ktlint版本
                .disabledRules("compose:vm-forwarding-check")
        }
    }
    
  • 确认规则名称准确性
    若规则名拼写错误会导致禁用失效,可通过运行./gradlew spotlessKlintCheck --info查看详细报错信息,确认规则的准确名称。

内容的提问来源于stack exchange,提问作者Nikhil Dupally

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 01:20:01