Intellij IDEA – Refactor 重构

SublimeText2 的多重选择

查找替换与重构的区别就像 重写代码和网页重构的区别一样

(网页重构 WebRebuilder 是腾讯的一个职位,主要工作职责是 HTML CSS ,鲜有人搞得离清)

SublimeText2 有一个大卖点是多重选择,让人眼前一亮

之前需要通过查找替换来搞定的操作,只需要鼠标点选几个区域,就可以批量操作

简直是列编辑的 God Like 模式, 碉堡了有木有?

 

Intellij IDEA 的 Refactor 重构

很可惜 Intellij IDEA 没有这个功能,但是他有着很屌的 Refactor 重构功能

举一个栗子:

3个文档里有各种关键词 bigcat

类型为 纯文本,文件名, CSS class 名, JavaScript 变量名

尝试下如何 Refactor 重构

先拿 CSS class 开刀,我们右键选择 Refactor > Rename (快捷键 Shift + F6)

输入 damao

发现在 html 里的重构会自动更改到关联的 css 里的 class 名,

因为,在 html 里引用了这个 CSS 之后,他们就绑定在了一起, 是真爱!

同理重构其他东东

重构 JavaScript 变量名/函数名 会同步修改关联的 .js 文件里对应的部分

重构 .js 文件里的变量名/函数名会同步修改关联的 html 页面引用

重构 .js / .css 等文件名也会同步修改关联的 html 页面引用

甚至重构 html 代码里 href=”bigcat.css” 会同步修改对应的文件名

在本例中如果你要用查找替换,或多重选择,看起来都不是个好办法

而改名只是重构的一部分,还能抽离出来新建函数等等需要你去挖掘

纯文本不可重构

对于纯文本,我们只能用正则或普通替换或列编辑来处理了

列编辑

按住 alt 鼠标选择一列,然后输入文字就会多行同时出现

整齐的连续单行代码中比较适合用,缺点是必须要连续

正则表达式

例如略微有点技术含量的正则

搜索>后面的bigcat

然后把cat之外的替换为da

Intellij IDEA 依然贴心的把替换结果提示出来

优点,能想出来就能搞出来

缺点,需要正则表达式30分钟入门

结论

所以不要因为莫言有个错别字,就认为他文字功底差


已发布

分类

来自

标签:

评论

《“Intellij IDEA – Refactor 重构”》 有 24 条评论

  1. 阿安 的头像

    正则替换用很多,基本满足要求了!~

  2. 大发 的头像

    话说话说重构不是要html+css+js么,囧。无JS表示压力很小

    1. bigCat 的头像

      @大发 工作内容是 HTML CSS 但是不会 JS 的重构是写不好 HTML 的.主要不缺会JS 的重构,所以你不会的话会没啥竞争力…

  3. Andy 的头像
    Andy

    大猫,能请教下你吗?
    这两段代码如何能合并成一条?

    (1)第一段是使用Lazyload 图片延迟加载效果,但是图片的尺寸总是显示不完整,会被裁剪。
    <img class="lazyload" src="image->blank($w,$h) ?>” data-original=”” />

    (2)第二段是自定义图片的长和宽,使图片不会被裁剪。
    <img src="image->resizedImgUrl($item->img,1980,1024); ?>” alt=”” title=”” />

    如果想使用“Lazyload 图片延迟加载效果”的同时“自定义图片的长和宽”,这两段代码应该怎么合并才可以?

    因为如果同时输入这两段代码,会造成同时加载两张照片,一张是被裁剪到的,一张是没被裁剪到的。

    1. bigCat 的头像

      @Andy 尝试用css控制宽高,lazyload 貌似是onload了img之后取到原始宽高的
      或者你给我url我看看,这样没法YY出来场景

      1. Andy 的头像
        Andy

        @bigCat 哈哈,已经解决了,后来发现合并成这样就可以了。谢谢大猫<img class="lazyload" data-original="” src=”image->resizedImgUrl($item->img,1980,1024); ?>” alt=”” title=”” />

  4. Jr 的头像

    最近在学正则表达式。。。。。

    1. bigCat 的头像

      @Jr 墙裂推荐oreilly的猫头鹰书,正则表达式那本

      1. Jr 的头像

        @bigCat 非常感谢

      2. emric 的头像
        emric

        @bigCat 翻译有点蛋疼咋办

        1. bigCat 的头像

          @emric 如果你看得出翻译蛋疼的话,证明你的英文水平可以看原版了..少年,买原版吧

  5. water 的头像

    弱弱的问下,这个截图的是神马编辑器,好像很爽啊。

  6. 鱼跃制氧机价格 的头像

    很爽 是个不错的文章

  7. lala 的头像

    额,这个博客的名字,太邪恶了!

  8. 毕扬 的头像

    你那个视频拿什么软件录的?

    1. bigCat 的头像

      @毕扬 貌似那个网站上有说,可以点过去看看,我没试过,官方录的

  9. 最真博客 的头像

    太复杂了,看不懂

  10. wmtimes 的头像

    只能搞js?不能css、html?

    1. bigCat 的头像

      @wmtimes 当然可以

  11. 千娱千寻 的头像

    真心看不懂啊

回复 bigCat 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注