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

关于 IntelliJ IDEA 声明变量快捷键问题,提升效率

  •  
  •   coollight56 · 2023-10-23 09:56:08 +08:00 · 1147 次点击
    这是一个创建于 405 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一般在代码里声明变量时(这里用 ArrayList 举例) 我是直接输入 new ArrayList<>(); 再按组合键 alt+enter idea 工具会自动帮我补齐前半段 ArrayList<Object> objects 分别是类型声明和变量命,并且都有两个白色的框(感觉是可以有其他的操作) 但大多数时候创建 ArrayList 是想声明成 List ,这样就要手动去修改。

    问:如何能够快捷的替换这个帮我补齐的声明

    以前看教程的时候好像记得看过别人可以替换, 有没有大佬知道的。谢谢分享

    12 条回复    2023-10-24 09:13:30 +08:00
    vemier
        1
    vemier  
       2023-10-23 10:47:16 +08:00
    输入“ArrayList.new"按 tab ,然后再.var 按 tab ,试下这个看看
    coollight56
        2
    coollight56  
    OP
       2023-10-23 10:59:39 +08:00
    @vemier 谢谢回复,但是好像不行
    .var 确实能补全声明,而我想的是有无办法后续修改这个补全声明,因为 IDEA 完全有能力知道我们 new 的 ArrayList 对象实现了哪些接口,提供给使用者挑选就行了(就像现在补充完声明之后会给几个变量名共使用者挑选)
    coollight56
        3
    coollight56  
    OP
       2023-10-23 11:18:14 +08:00
    问题解决:
    自己乱试,试出来了,快捷键是 Shift+Tab
    在补全后输入就可以看到类型的替换项了
    多少有些自问自答了,不过也希望能帮到大家
    mmdsun
        4
    mmdsun  
       2023-10-23 12:59:23 +08:00 via iPhone
    new ArrayList<>(); 输入完成,按 Alt+Enter ,选 introduce local variable ?
    anonydmer
        5
    anonydmer  
       2023-10-23 13:40:39 +08:00
    new ArrayList<>().var 回车 shift+tab
    kingbill
        6
    kingbill  
       2023-10-23 14:15:14 +08:00
    直接写 List list = new 这时候 IDEA 会自动补全 new ArrayList<>();
    kingbill
        7
    kingbill  
       2023-10-23 14:17:49 +08:00
    而且我不习惯 alt+enter ,你的这种场景一般我会 ctrl+alt+v
    coollight56
        8
    coollight56  
    OP
       2023-10-23 14:22:02 +08:00
    @mmdsun 对 这一步是先补齐左边,然后再 shift+tab 可以切换声明的类型,上编辑器试试就知道了
    coollight56
        9
    coollight56  
    OP
       2023-10-23 14:24:24 +08:00
    @mmdsun new ArrayList<>().var 也可以
    wangxin3
        10
    wangxin3  
       2023-10-23 17:20:03 +08:00
    @coollight56 #9 默认好像就是 ArrayList<>,shift+tab 选择 List<>之后好像记忆了 List<>这个,.var 就是 List<>了
    orangie
        11
    orangie  
       2023-10-23 23:06:42 +08:00
    楼主的问题不知道怎么解决,不过分享一个 introduce to variable 的快捷键,输入 new ArrayList<>(),甚至不用带分号,按下 ctrl+alt+v 就会生成引用,不用 alt+enter 再按 enter 。这个快捷键也适用于其他想要创建引用的地方,比如字面量或者函数返回值之类的,总之会生成一个引用。
    coollight56
        12
    coollight56  
    OP
       2023-10-24 09:13:30 +08:00
    @wangxin3 对 我的也是被记下了 之后就是 List ,不过同事的 mac 试了一下却没有记忆,可能版本问题或者其他原因
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2589 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 03:35 · PVG 11:35 · LAX 19:35 · JFK 22:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.