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

来讨论下 IntelliJ IDEA 的使用技巧吧,互相学习一下

  •  5
     
  •   szq8014 · 2018-12-12 10:42:07 +08:00 · 10320 次点击
    这是一个创建于 2202 天前的主题,其中的信息可能已经有所发展或是发生改变。

    可以讨论 Java 的地方实在是太少了,楼主还是憋不住了想了解一下大家是如何使用 IntelliJ IDEA 的,作为开始楼主先讲自己是如何使用 IntelliJ IDEA 的吧!

    PS: 楼主使用的是一台安装有 Windows 10 的 1920x1080 分辨率普通笔记本,文中提到的快捷键就都是 windows 下的了。

    勉怀篇

    首先勉怀一下 Eclipse,工作前两年一直在用 Eclipse,开发模式就是 Eclipse + Tomcat 6|7 / JBoss 4.2.3.GA + SS2H 框架 + TortoiseSVN + (无 Maven ),一直以来使用还是挺方便的,个人觉得 UI  和 windows  挺搭(毕竟就是调用的 windows api )体验还挺好的。。后来遇到了 IntelliJ IDEA,才开始个人是没多大意愿换 IDE 的,毕竟需要重新习惯,而且尝试过几次都不如 Eclipse 那一套来得舒服,直到后来项目开发引入了 Maven, 个人发现 Eclipse 的 Maven 支持有点不搭,而 IDEA 的项目结构就与 Maven 非常搭就这样顺利迁过来了,感觉 IDEA 的 Maven 和 Git 支持非常非常好用起来太舒服了。

    再说一下 Gradle (不勉怀),最近试用了一下 Gradle,感觉 IDEA 对 Gradle 的支持不如 Maven 强大,比如我想在项目里面使用 guava 的 Cache,如果是 Maven 项目的话可以直接在需要的地方输入 Cache 然后 Alt + Enter 选中 Add Maven Dependency... 找一下就可以了,不需要自己去修改 pom.xml 文件,目前我没有在 Gradle 项目里面找到这样的体验,是不是打开方式不对。。再就是假设需要修改 pom.xml 来添加依赖,对于常用依赖,Maven 也可以做到自动完成,比如在 artifactId 里面输入 commons- IDEA 就会帮你找出常用的 commons- 开头的依赖,比如 commons-lang3,回车后还能继续问你需要啥版本。。

    Maven

    外观篇

    安装完了直接用就太随便了吧,有点追求的都会换个字体啥的。

    字体

    首先 win10 自己的字体渲染也不太让人满意( 1080P 及以下), 先安装 MacType 来提高一下美观度。MacType 安装完成后 IDEA 的字体可能会渲染有问题,(比如高度有点问题,像是被刀削过一样)顺便要改一下 IDEA 的字体设置。

    [软件 Appearance 中的字体] ,我选的是 MS Reference Sans Serif 大小 12px

    [编辑器字体] 选用的是 DejaVu Sans Mono 14px 中文是 YaHei UI

    font

    主题 我用的是 IntelliJ 主题,就是浅色的那个,感觉暗色主题搭配上默认的代码高亮不好看,如果像最新的 vs code 那样我会愿意切到暗色主题。对于浅色主题,我稍微调整了一下颜色搭配,找的是 Solarized Light 这个配色,感觉挺舒服的。

    Solarized Ligh

    工具栏

    如上图,我个人习惯将工具栏按钮隐藏掉(通过快捷键 Alt + [0-9] 唤出)使得在不影响操作效率的情况下让整个界面非常简洁。

    惊喜功能篇

    Settings Repository

    该功能是可以将你对 IDEA  进行的设置进行保存,保存目录可以是本机目录,也可以是一个远程的 git 仓库! 同步之后你就再也不愁重新安装或者是换机器这种事情了。得益于该功能,文中提到的所有我的设置你都可以通过 我的 IntelliJ IDEA Settings 进行 fork 后合并到自己的 IDEA 中。使用该功能的时候你需要在 github 生成一个 AccessToken 来给 IDEA 用或者是你在 github 设置了本机的 ssh pub key。

    鼠标右键集成

    曾经用 IDEA 打开项目只能是通过 IDEA 的 File Open 来操作,最新版的 IDEA 添加了鼠标右键集成功能,大大方便了那些多个项目切换的操作便利性。尤其是对于 IntelliJ IDEA 社区版的用户,使用 start.spring.io 创建完项目下载解压然后直接鼠标右键打开就可以了,xing 福指数又提高了一些。

    Decompiler

    IDEA 自带的反编译软件比那个 C++ 写的 jd 好一些,比如我反编译过一个 b4x 的安卓程序,用 jd 反编译的直接没法看。

    [未完待续] 写了这么多感觉能讲出来的功能还是少,需要一点点补充

    第 1 条附言  ·  2018-12-12 12:56:53 +08:00

    讲一下写这个帖子的目的,我是整理的自己的使用经验分享给大家,希望能引起共鸣,让大家也给我讲讲他们的使用技巧。个人也觉得可以归类为 @wxkvEX 所说的搬运,我的目的就是讨论,我也没贴外链啥的引流吧……唯一我觉得算是引流的就是我帖了自己的 idea settings github repo 分享给大家,那里是我的 idea 设置,没有任何技术含量也不会提高自己身价。

    其实我写这篇最大的动力也就是那个 settings repository 功能,因为我逛 v2发现好多人分享设置还是通过 settings.jar 文件,许多人不知道 settings repository 这个功能,现在别人读了知道了,我的目的就达到了一半,另一半就是我也希望知道一些我目前不知道的好功能。

    继续。

    快捷键篇

    特别常用快捷键我就不写了,大家也不是新手。

    F11 书签

    在读代码的时候,如果想标记几个方法然后可以能快捷的在这几个方法之间来回切换,就可以用到这个书签功能了,把光标定位到指定的行按一下 F11 就可以把当前行加入到书签了,按 shift + F11 就可以查看你添加的书签,点一下就快速跳转了。 f11

    Run Maven Goal

    去 keymap 里面搜 maven goal 能找到这么一个选项,设置上快捷键 (我是 Alt 0) 就可以了,以后想 maven 打包直接 alt + 0 唤出一个窗口输入·clean package -DskipTests 就可以了(带自动补全)。此外还有一个 IDEA 自带的快捷键,是 Ctrl + Alt + R

    maven goal

    quick maven goal

    第 2 条附言  ·  2018-12-12 13:44:11 +08:00
    v 友 [smallyin]( https://www.v2ex.com/member/smallyin) 提供了一个 github 的 IntelliJ-IDEA-Tutorial 挺好的,里面很全,大家有精力的话去看看那个吧!

    [Everyxin]( https://www.v2ex.com/member/Everyxin) 分享了 Alt + 鼠标拖动 技巧挺好的

    ## 插件就不讲了,就那些,去网上搜搜一片一片 的最著名的就属 IdeaVim 了



    感谢大家!
    第 3 条附言  ·  2018-12-12 13:49:50 +08:00
    IntelliJ-IDEA-Tutorial 忘记了附上 github 的地址。。。https://github.com/judasn/IntelliJ-IDEA-Tutorial

    萝卜白菜各有所爱~有的人喜欢看 [操作手册] 那样的,有的人(比如我)喜欢看 [亮点功能] 类型的。

    今天讨论收获了很多,再次感谢!
    第 4 条附言  ·  2018-12-12 15:35:02 +08:00

    顺便分享一下小工具

    gif 截图 LICECap

    显示按键 carnac

    普通截图 Snipaste 好像不开源

    markdown 编写用的是 typora 好像不开源 + 1

    git GUI client 用 fork 没开源 +1

    PDF view 用 SumatraPDF

    73 条回复    2019-03-30 20:21:43 +08:00
    jingrui
        1
    jingrui  
       2018-12-12 10:47:35 +08:00
    第一个技巧:正版 IntelliJ IDEA
    xxl11231220
        2
    xxl11231220  
       2018-12-12 10:51:13 +08:00
    ctrl+alt+v or .var
    murmur
        3
    murmur  
       2018-12-12 10:53:36 +08:00
    已经是第三年全家桶订阅了
    即便是默认的付费版都已经比社区版牛逼太多
    johnniang
        4
    johnniang  
       2018-12-12 10:53:47 +08:00
    Everyxin
        5
    Everyxin  
       2018-12-12 10:57:37 +08:00   ❤️ 7
    按住 Alt 鼠标拖动
    试后回来感谢一下 :)
    szq8014
        6
    szq8014  
    OP
       2018-12-12 10:58:05 +08:00
    @jingrui
    @murmur 对你们支持正版的点个赞,我这三线小城市还在困难的养家糊口,连向往了好几年的机械键盘都纠结了好久买了个入门款,目前实在狠不下心买订阅,等工资再涨涨吧~
    wxkvEX
        7
    wxkvEX  
       2018-12-12 11:13:10 +08:00 via iPhone
    讨论一下语文吧,比如缅怀。
    工具有什么好讨论的,泛用性强的功能和插件,网上一搜一大堆,再搬运一遍不会更佳。如果有特殊需求,描述好然后发帖询问就可以了,“那么有没有一种插件,能让我在 xxx 的时候可以进行 xxx 的 xxx 呢?”
    bzw875
        8
    bzw875  
       2018-12-12 11:13:35 +08:00
    业余用户用的是社区版
    fkdog
        9
    fkdog  
       2018-12-12 11:21:21 +08:00
    这这么 dirty 的字体是怎么忍的了的。
    NoKey
        10
    NoKey  
       2018-12-12 11:23:34 +08:00
    我安装了一套 source code pro 字体,然而 idea 里面不能选这个字体的粗体,细体,常规体在 mbp 的 idea 里显得有点粗,在 win 上粗细刚好
    drackzy
        11
    drackzy  
       2018-12-12 11:25:30 +08:00
    jetbrains u2b 官方频道有些技巧视频可以看看。
    szq8014
        12
    szq8014  
    OP
       2018-12-12 11:40:23 +08:00
    @wxkvEX 抱歉,我是实在没想起来 缅怀 这两个字,我就随便打了个 勉怀 去网上搜了一下发现有,就以为是这两个字。。同时也证明了用五笔也会忘字……再对你的语文水平点个赞!
    我没觉得我是搬运啊,我是在整理我自己的使用情况分享给大家,有什么不妥吗?总比天天划水强吧
    再就是我看你的活动记录,一直都是在划水不知道为啥进这个帖子这样说我 0.0
    tom
        13
    tom  
       2018-12-12 11:40:46 +08:00
    ctrl+D 和 ctrl+Y 对调。
    字体换成 Hack, 12, 1.2
    color scheme 换成 Xcode inspired

    https://github.com/zhuxulu/idea-settings
    mangoDB
        14
    mangoDB  
       2018-12-12 11:52:30 +08:00
    当然那是 ideaVim 插件了。
    zhaogaz
        15
    zhaogaz  
       2018-12-12 11:53:02 +08:00
    哎,一个 ide 能有啥技巧。

    等你编码技巧到了自然就知道怎么用了。

    官网手册都摆着呢,啥不懂上去查就是了。

    format 和界面搭配 还有字体什么的都算是个人爱好,有啥好不好的。燕瘦环肥。。。
    drioou
        16
    drioou  
       2018-12-12 12:01:12 +08:00
    IDEA 好的一点就是历史记录很好 git 管理也非常方便
    但我不用他的原因就是主题太难看。
    xlui
        17
    xlui  
       2018-12-12 12:07:56 +08:00 via iPhone   ❤️ 1
    Settings Repository 这个功能不错,以前没有注意到,感谢 lz。
    OpenJerry
        18
    OpenJerry  
       2018-12-12 12:12:25 +08:00 via Android
    @drioou idea 的主题不算难看了吧
    liuxey
        19
    liuxey  
       2018-12-12 12:18:15 +08:00   ❤️ 1
    我放个我的图吧,我的目标是尽量提供更多的竖向空间,毕竟现在都是宽屏。
    关闭所有可关闭的视图,常用的使用 ctrl+e 或者对应的快捷键
    Tabs 位置设置 left 间距调到 18
    主题 Lighter Theme,Accent Color 设置为 fuchsia,系统颜色也设置为 fuchsia...
    字体 Monaco 16 号,行距 1.0
    liuxey
        20
    liuxey  
       2018-12-12 12:20:37 +08:00   ❤️ 1
    基于上面的配置,使用 Presentatioin Mode 开发,沉浸感很强,使用也没有大的问题!
    wxkvEX
        21
    wxkvEX  
       2018-12-12 12:23:43 +08:00 via iPhone
    @szq8014 我是说别人如果把网上已经有的东西复制粘贴过来,意义就不大了,不是否定你的研究成果。
    当然水了,因为我不上班啊……
    russ44
        22
    russ44  
       2018-12-12 12:28:54 +08:00
    Alt + Enter
    smallyin
        23
    smallyin  
       2018-12-12 12:53:45 +08:00   ❤️ 1
    szq8014
        24
    szq8014  
    OP
       2018-12-12 13:00:37 +08:00
    @smallyin 感谢!我去看看
    szq8014
        25
    szq8014  
    OP
       2018-12-12 13:02:07 +08:00
    @fkdog 不太明白... dirty 具体是什么表现?
    drioou
        26
    drioou  
       2018-12-12 13:05:08 +08:00
    @OpenJerry 用过 Atom VSCODE 对比后的心得
    szq8014
        27
    szq8014  
    OP
       2018-12-12 13:15:21 +08:00
    @wxkvEX 羡慕不上班的!不过还是不明白这个帖子怎么会引起你的兴趣,只是个关于开发工具的讨论 0.0 还是在 Java 版块下……
    joysir
        28
    joysir  
       2018-12-12 13:29:46 +08:00   ❤️ 3
    1. 正版
    2. IdeaVim
    3. Distraction Free Mode + Full Screen
    4. Hidden toolbar ...
    5. Ctrl+E、Double Shift、Ctrl+O ...
    6. Live Templates
    wly19960911
        29
    wly19960911  
       2018-12-12 13:36:36 +08:00
    有没有办法更换树展示的缩进啊,目录那么大的缩进,看着难受还占空间,
    szq8014
        30
    szq8014  
    OP
       2018-12-12 13:39:19 +08:00
    @wly19960911 1. 拉宽点 2. 树右上角-设置-Flatten Packages 也许能好点
    xlui
        31
    xlui  
       2018-12-12 13:39:53 +08:00 via iPhone
    @wxkvEX #7 其实个人感觉这种分享也不错,网上搜的大多数重复度比较高,再加上正常能用的情况下我(或者说有些人)也不会刻意去搜一些奇淫巧技。

    比如之前 v 友 分享的 IDEA 插件我发现了几个比较适合的能提升效率的插件,还有 v 友 分享的配色方案(虽然大家都觉得瞎眼....233 )有评论区 v 友 说可以开启 Semantic Highlight,还有今天我看到的 Settings Repository。

    这些东西不是有人提我自己是发现不了的,而网上搜到的一般也不会提这些,所以我个人还是很乐意看到这种帖子的。当然单纯的 copypaster 是要坚决 diss 的。
    Acappellavox
        32
    Acappellavox  
       2018-12-12 13:41:55 +08:00
    mark 学习一下
    zhyzhy
        33
    zhyzhy  
       2018-12-12 13:47:10 +08:00
    Everyxin
        34
    Everyxin  
       2018-12-12 13:52:10 +08:00
    @liuxey #19 这个字体是自己下的吗
    hiveex
        35
    hiveex  
       2018-12-12 14:09:32 +08:00
    java .var
    wly19960911
        36
    wly19960911  
       2018-12-12 14:23:43 +08:00
    另外说一个快捷键相关的。

    在 idea 里面不说快捷键真的满,但是有三个快捷键靠的又近又没人用,那就是 ctrl + windows , shift + windows, alt + windows。 我其中一个用来绑定按钮栏
    DamonLin
        37
    DamonLin  
       2018-12-12 14:24:13 +08:00
    全家桶真的牛逼
    minyress
        38
    minyress  
       2018-12-12 14:36:03 +08:00
    有人跟我一样吗?直接在 Settings -> Keymap 查看具体的快捷键
    szq8014
        39
    szq8014  
    OP
       2018-12-12 14:36:10 +08:00
    @xxl11231220
    @hiveex 赞!还有 .try .sout .soutv 等等
    sununiq
        40
    sununiq  
       2018-12-12 14:37:27 +08:00   ❤️ 1
    慕课网,闪电侠的 idea 的视屏可以看下,挺不错的
    szq8014
        41
    szq8014  
    OP
       2018-12-12 14:38:56 +08:00
    @wly19960911 我把 alt + 0 1 2 3 4 5 都重新设置了一遍
    alt + 1 目录导航
    alt + 2 structure
    alt + 3 git
    alt + 4 run
    alt + 5 debug
    alt + 0 run maven goal
    Tengdw
        42
    Tengdw  
       2018-12-12 14:48:28 +08:00   ❤️ 1
    Ctrl + Shift + z 后悔药
    Ctrl + Shift + v 历史剪切板
    Ctrl + Shift + t 快速创建测试用例
    感觉这些你们都知道
    Heanes
        43
    Heanes  
       2018-12-12 15:21:19 +08:00
    楼主截图 gif 显示按键的软件是什么?
    chengxiao
        44
    chengxiao  
       2018-12-12 15:21:49 +08:00
    必装插件 material-theme-ui 默认的 UI 实在太丑了
    fan123199
        45
    fan123199  
       2018-12-12 15:28:02 +08:00   ❤️ 1
    字体万年 console,但还不是很满意。
    fan123199
        46
    fan123199  
       2018-12-12 15:33:41 +08:00   ❤️ 1
    ctrl+b,跳到定义。

    ALT+enter,帮你写;并换行。

    然后就是一堆 refractor ( extract,inline 等)相关的快捷键,强迫症必备,用于重构代码。

    ctrl+shift+(除了 3 的数字),在光标处建立书签,按 ctrl+数字可以直接跳转到。比如对配置文件就非常实用。

    以上是我常用的。
    szq8014
        47
    szq8014  
    OP
       2018-12-12 15:43:02 +08:00
    gif 是 LICECap,按键显示是 Carnac 一搜就有~
    szq8014
        48
    szq8014  
    OP
       2018-12-12 15:44:46 +08:00
    @Heanes gif 是 LICECap,按键显示是 Carnac 一搜就有~ 正文也已经 append
    YehShs
        49
    YehShs  
       2018-12-12 15:50:39 +08:00
    用了 mactype 之后,使用翻译插件显示的字会乱码,已经调整第二字体为微软雅黑。
    chinesedragon
        50
    chinesedragon  
       2018-12-12 16:26:36 +08:00
    我用 2018.3 为什么没有 Ctrl+Alt+R 那个呢?
    szq8014
        51
    szq8014  
    OP
       2018-12-12 16:35:56 +08:00
    @chinesedragon 我看了一下按键绑定,是一个 Maven Helper 插件的,我都忘了这个插件是自带的还是我安装的了。。
    amwyyyy
        52
    amwyyyy  
       2018-12-12 17:16:35 +08:00   ❤️ 1
    技巧太多了,我说一个。如果项目出现某些莫明其妙的报错,可以试试 File - Invalidate Cache/restart - Invalidate and Restart
    wxkvEX
        53
    wxkvEX  
       2018-12-12 17:18:12 +08:00 via iPhone
    @szq8014 啊,据我观察,Java 节点下最新的一个主题会在技术板块的首页显示。
    CUMTProgrammer
        54
    CUMTProgrammer  
       2018-12-12 17:18:33 +08:00
    想问一下 eclipse 有 alt+←,可以返回上一个光标停留的地方。idea 的快捷键是什么? idea alt+←会切换到上一个 class。但是有时候,我们按 alt 进去本 class 的方法,就不好找了
    feiyuanqiu
        55
    feiyuanqiu  
       2018-12-12 17:28:53 +08:00
    @CUMTProgrammer #54 mac 下默认是 cmd+[ / cmd+],win 的话需要自己到 keymap 里搜索一下,navigate - back / navigate - forward
    feiyuanqiu
        56
    feiyuanqiu  
       2018-12-12 17:38:33 +08:00 via Android
    intellij 自带了 maven 支持,不需要再装什么插件吧
    打开 maven 工具窗口,选中一个或多个 lifecycle, 就执行相应的操作了; plugins 也可以直接点击执行

    xiaoxinshiwo
        57
    xiaoxinshiwo  
       2018-12-12 17:39:42 +08:00
    @xlui #17 我刚试了试,真香
    yukiiz
        58
    yukiiz  
       2018-12-12 17:50:10 +08:00   ❤️ 2
    没事的时候看帮助里面的生产力指南,会根据使用情况告诉你需要改进的地方。。。
    moqimoqide
        59
    moqimoqide  
       2018-12-12 23:32:58 +08:00
    EchoYang7
        60
    EchoYang7  
       2018-12-13 10:58:39 +08:00
    eokol
        61
    eokol  
       2018-12-13 11:24:06 +08:00
    settings repository 怎么避免泄露 webserver 信息
    sunsulei
        62
    sunsulei  
       2018-12-13 12:52:37 +08:00
    @amwyyyy #52 这会把文件历史也给整丢的吧..
    szq8014
        63
    szq8014  
    OP
       2018-12-13 13:14:43 +08:00
    @eokol 只是地址的话写到 host 里面?或者直接建一个私有仓库不就行了?
    kevin1852
        64
    kevin1852  
       2018-12-13 15:36:13 +08:00
    @yukiiz #58 +1
    Kaiv2
        65
    Kaiv2  
       2018-12-13 17:12:48 +08:00
    推荐的工具不错哈哈
    joe0
        66
    joe0  
       2018-12-15 20:19:04 +08:00
    想问一下这个效果怎么弄

    @szq8014
    szq8014
        67
    szq8014  
    OP
       2018-12-16 08:34:15 +08:00   ❤️ 1
    @joe0 codeglance 插件
    lskjdfgl
        68
    lskjdfgl  
       2018-12-18 09:00:26 +08:00
    请问 win10 安装了最新版的 2018.1 系统里面没有邮件菜单?
    szq8014
        69
    szq8014  
    OP
       2018-12-18 09:13:52 +08:00
    @lskjdfgl 现在最新的是 2018.3 吧, 邮件菜单是什么?右键?
    lskjdfgl
        70
    lskjdfgl  
       2018-12-18 14:33:10 +08:00
    @szq8014 对是 2018.3 早上下错了,重新下个。
    szq8014
        71
    szq8014  
    OP
       2018-12-18 15:04:34 +08:00
    @lskjdfgl 有问题要不发个截图什么的吧 0.0
    jhua
        72
    jhua  
       2018-12-19 14:02:18 +08:00
    guomingxing
        73
    guomingxing  
       2019-03-30 20:21:43 +08:00
    @Everyxin すごい
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2869 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 14:13 · PVG 22:13 · LAX 06:13 · JFK 09:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.