V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iFlicker
V2EX  ›  Android

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

  •  
  •   iFlicker · 2020-01-02 15:02:52 +08:00 · 10761 次点击
    这是一个创建于 1788 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题
    陈旧项目中代码风格紊乱 其他都都可以根绝 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-01-02 15:25:31 +08:00   ❤️ 1
    p3c 了解一下
    iFlicker
        2
    iFlicker  
    OP
       2020-01-02 16:54:00 +08:00
    @xzceprint 这个插件可以按照规范格式化吗? 我记得只是提醒
    acrisliu
        3
    acrisliu  
       2020-01-02 17:02:52 +08:00   ❤️ 1
    @iFlicker #2 我记得可以 alt + Enter 自动修正的,装个试下?
    iFlicker
        4
    iFlicker  
    OP
       2020-01-02 17:09:24 +08:00
    @acrisliu
    @xzceprint
    可以修正 并且可以扩展自定义规则 核心是 PMD
    thx
    zxCoder
        5
    zxCoder  
       2020-01-02 21:46:58 +08:00
    (手动改,改完就下班
    iFlicker
        6
    iFlicker  
    OP
       2020-01-03 10:07:13 +08:00
    @zxCoder 那完了 那得猴年马月
    9u1pMf37KSwB7Cum
        7
    9u1pMf37KSwB7Cum  
       2020-01-03 22:53:23 +08:00   ❤️ 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-01-04 08:51:50 +08:00 via Android
    @luobo25L 谢谢 这个比用插件方便多了 我一开始想到在 codeStyle 改 但是以为没这个选项就没去研究 。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4229 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 04:12 · PVG 12:12 · LAX 20:12 · JFK 23:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.