敏捷开发,代码重构。Idea不得不提的三大技巧

批量操作

多光标操作,是一款优秀的编辑器的基本职能。

在idea中利用Alt键可以轻松的一次性拉取多行进行多点编辑操作:

Alt多点编辑

如果需要按点选择,则可以按Alt+Shift选择编辑:

多点光标操作

Ctrl+Alt+Shift则包揽了行选择和点选择的功能:

点选择和行选择

组合其他快捷键使用可以完成相对复杂的操作,例如将原有类变量的行注释,变更为段注释。

这里用到了Ctrl + Alt +Shift + JCtrl+W

前者可以选中当前文件中所有相同的内容,如果光标没有选择范围则默认为附近的一个词。

而后者则可以选中当前光标附近的词。

行注释变更

利用Ctrl+W可以轻易找到多个编辑点内容开头结尾

多光标不同长度末尾编辑

正则替换

idea文本替换功能支持所有的标准正则表达式,利用正则表达式可以完成很多复杂的功能。

使用正向和反向预查正则可以仅替换满足指定条件的文本,这个表达式可以替换被

  • 包裹的中文:

    (?<=<li class="nav-li">)[\u4e00-\u9fa5]*(?=</li>)
    

    预查替换

    idea支持使用小括号对正则进行分组,然后进行取值替换,上面将行注释变更的功能使用分组替换也可以完成:

    \/\/ ([\u4e00-\u9fa5]*)
    

    行注释正则替换

    利用复杂的正则表达式可以简便的完成数据库方言的替换。

    例如时间格式化字符串在Oracle中是yyyymmddHH24miss而在mysql中却是*%Y%m%d%H%i%s*。

    替换正则:

    (yyyy)(-|/)*?(mm)(-|/)*?(dd)(\s)*?(HH24)(:*?)(mi)(:*?)(ss)
    

    替换为:

    %Y$2%m$4%d$6%H$8%i$10%s
    

    数据库方言替换

    用好正则替换功能将会给代码重构带来极大的便利。

    除了标准的正则表达式外,idea还支持在替换时修改替换文本的大小写属性(该功能不支持全局替换)。

    表达式含义
    \l将替换文本的首字母置为小写
    \u将替换文本的首字母置为大写
    \L将替换文本置为小写,可以使用\E标记停止
    \U将替换文本置为大写,可以使用\E标记停止

    大小写转置

    后缀补全

    对对象使用调用符*.*时idea除了会弹出调用方法的提示,还会弹出一些预定义的后缀模板,利用这些后缀模板可以大幅减少移动光标的次数:

    后缀补全

    官网预定义的模板可以满足大部分场景,但有些调用Api并不满足需要,在2018.01版本后的idea允许自定义后缀模板(旧版本可以使用插件Custom Postfix Templates)。

    Ctrl+Shift+A搜索postfix completion或者Setting=>General=>PostFix Completion打开postfix completion编辑页面。

    这里允许自定义后缀模板:

    image-20200530175945024

    定义的模板中可以配置关键词,语言版本,适用的变量类型等,这里为任意对象定义一个Optional.orElse的模板:

    image-20200530180831492

    * E X P R EXPR EXPR模板生效后变量将处在的位置, E N D END END*则标记了光标最后处在的位置:

    自定义表达式

    唯一遗憾的一点是官方文档中并未说明多任务光标要如何定义,期待官方后续版本能够开发这个设置。

    多任务光标


    以上为本文全部内容。

    tks

    猿枫小店

    毛胚公众号弱弱的求一波大佬关注。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值