You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

IntelliJ IDEA 2018.1版本Java 10 'var'无代码补全问题咨询

解决IntelliJ IDEA 2018.1中Java 10 var补全被VarHandle覆盖的问题

我之前也碰到过这个闹心的小bug!明明项目的JDK版本和语言级别都设成10了,一敲var就自动补成全列表首位的VarHandle,得撤销半天才能回到var。试试下面这几个实用的解决办法:

  • 调整代码补全排序规则
    这是最直接的解决方式:

    1. 打开IDE设置(快捷键Ctrl+Alt+S,Mac用户是Cmd+,
    2. 导航到Editor > General > Code Completion
    3. 找到Autopopup code completion区域,勾选Sort lookup items lexicographically(按字典序排序),这样var就会因为字母顺序排在VarHandle前面
    4. 同时可以开启Prefer shorter names选项,让短名称优先显示,进一步确保var出现在补全列表的最前面
  • 自定义Live Template快速插入var
    如果排序调整没用,咱们可以自己做个快捷模板:

    1. 进入Settings > Editor > Live Templates
    2. 点击右上角的+,先新建一个模板组(比如命名为Java10Features
    3. 选中这个新组,再点击+选择Live Template
    4. 设置AbbreviationvarTemplate text也填var,然后在Applicable in里选择Java > Statement
    5. 保存后,输入var再按Tab就能直接插入var,完全不会被自动补全干扰
  • 检查并更新IDE补丁
    IntelliJ 2018.1对Java 10的支持初期可能存在一些小问题,你可以去Settings > Appearance & Behavior > System Settings > Updates里检查有没有可用的补丁更新,安装后重启IDE,说不定就能修复这个补全异常

  • 临时应急方案
    要是暂时不想折腾设置,输入var时一旦弹出补全列表,立刻按Esc关闭补全弹窗,就能保留你输入的var

额外提醒:虽然你已经确认了项目全局的JDK和语言级别,但别忘了检查模块级别的配置——右键模块选择Open Module Settings,在Project Settings > Modules里确认每个模块的Language level也设置为10,避免单个模块拖后腿

内容的提问来源于stack exchange,提问作者Grant Howard

火山引擎 最新活动