Android Studio无法格式化@Query注解内SQL语句的求助
解决Android Studio中@Query注解内SQL语句无法格式化的问题
针对Android Studio Electric Eel | 2022.1.1版本中Room的@Query注解内SQL语句无法随代码格式化的问题,可通过以下步骤配置解决:
启用SQL格式化核心支持
- 打开Settings(快捷键
Ctrl+Alt+S,或通过File → Settings路径) - 导航到Editor → Code Style → SQL
- 在
General标签页,勾选「Enable formatter」确保SQL格式化功能开启 - 切换到
Indentation标签页,根据需求调整缩进规则(比如设置CASE分支的缩进级别与主SQL语句对齐)
- 打开Settings(快捷键
配置Kotlin对注解内多行字符串的格式化
- 在Settings中导航到Editor → Code Style → Kotlin
- 切换到
Strings标签页 - 在「Multiline strings」区域,勾选「Format multiline strings」选项,允许IDE格式化多行字符串内容
- 额外检查
Wrapping and Braces标签页下的「Annotations」相关设置,确保未限制注解内内容的格式化
适配SQL方言(可选)
- 回到SQL的Code Style设置,切换到
Dialects标签页 - 为项目或当前模块设置对应SQL方言(比如Room常用的SQLite),让IDE更精准识别SQL语法,优化排版逻辑
- 回到SQL的Code Style设置,切换到
配置完成后,再次按下Ctrl+Alt+L执行代码格式化,@Query注解内的SQL语句会按照预期调整缩进,实现你想要的对齐效果:
@Query( """ SELECT * FROM t_article ORDER BY CASE WHEN :order = 1 THEN id END """ ) fun pagingSource(order: Int): PagingSource<Int, Article>
内容的提问来源于stack exchange,提问作者SageJustus
相关产品推荐
相关产品推荐

