iFlicker
V2EX  ›  Android

Android Studio 如何补全所有的 if for 单行省略掉的大括号?

By iFlicker at 2020 年 1 月 2 日 · 14786 次点击

如题
陈旧项目中代码风格紊乱 其他都都可以根绝 Code Style 进行 Reformat
但是很多因为 if else for while 中只有单行 而省略了大括号的代码

if(value){
	if(lll){
    	for(xxx;xxx;xxx)
        	do something;
    } else
    	do something;
}

类似如上 影响阅读。。。
有没有方便的工具给整个项目所有的省略掉的大括号给加上并强制要求不允许这种写法?

8 条回复    2020-01-04 08:51:50 +08:00
gotonull
   1
gotonull  
   2020 年 1 月 2 日   ❤️ 1
p3c 了解一下
iFlicker
   2
iFlicker  
OP
   2020 年 1 月 2 日
@xzceprint 这个插件可以按照规范格式化吗? 我记得只是提醒
acrisliu
   3
acrisliu  
   2020 年 1 月 2 日   ❤️ 1
@iFlicker #2 我记得可以 alt + Enter 自动修正的,装个试下?
iFlicker
   4
iFlicker  
OP
   2020 年 1 月 2 日
@acrisliu
@xzceprint
可以修正 并且可以扩展自定义规则 核心是 PMD
thx
zxCoder
   5
zxCoder  
   2020 年 1 月 2 日
(手动改,改完就下班
iFlicker
   6
iFlicker  
OP
   2020 年 1 月 3 日
@zxCoder 那完了 那得猴年马月
9u1pMf37KSwB7Cum
   7
9u1pMf37KSwB7Cum  
   2020 年 1 月 3 日   ❤️ 2
恰好最近研究了一下,到这里修改:
Preferences/Settings > Editor > Code Style > Java > Wrapping and Braces > 'if ()' statement > Force braces > 设置为 Always
这样 Reformat 的时候就会强制加 {},for 设置相似。

要做到强制的话,可以考虑在 git hook 里加 Check Style 扫描
iFlicker
   8
iFlicker  
OP
   2020 年 1 月 4 日 via Android
@luobo25L 谢谢 这个比用插件方便多了 我一开始想到在 codeStyle 改 但是以为没这个选项就没去研究 。。
© 2026 V2EX · 26ms · 3.9.8.5