恢复IDEA中的Un-inject Language/Reference

在IDEA环境中使用MyBatis时,Mapper映射文件因误报使用Alt+Enter修复导致SQL语法高亮及检查功能丢失。通过重装配置及对比,发现是LanguageInjection设置中DTD配置被删除,手动恢复配置后问题解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

问题描述
在学MyBatis时,在IDEA环境下,Mapper映射文件中有一个地方总是误报: 
 
使用Alt+Enter快捷修复时,出现了这个选项: 
 
按下它即做了快捷修复,此后确实不再误报了,但是带来了更严重的问题。首先这个文件里SQL的语法高亮不见了,其次SQL完全没有语法检查了(也就更没有关键字提示了),一片白的SQL非常容易写错,宁愿误报也不想出现这种状况。

但是因为是使用Alt+Enter快捷修复了,根本不知道到底修改了哪里的配置。找遍了百度,完全没有恢复这个配置的相关资料。

解决
根据这个选项的提示,能够定位设置的位置,一定是在Settings->Editor->Language Injection下面。经过两次重装IDEA配置,发现确实在这里少了一个injection。

使用了快捷修复后,重装配置前: 

重装配置后: 

可以看到下方,快捷修复使得少了一个injection,本来是117个变成了116了。然而非常痛苦的是,这一页面根本没有重置这一选项,我将快捷修复后的该页面截图下来,与正确的117个逐个比较,最终确定是少了这样一个配置: 

一旦做了前面的快捷修复,这个页面将删除该DTD配置(而不是取消勾选),所以如果要恢复,就要点击右上角绿色加号手动配置它: 
 
备份一下这个DTD的URL:

http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd|http://mybatis.org/dtd/mybatis-3-mapper.dtd


花了不少时间,重装了两次配置才搞清楚这个问题,IDEA中的Alt+Enter真的应该慎用。它虽然能快捷修改设置,但却让使用者搞不清楚到底修改了哪里,如果想改回来不知道从何入手,甚至不知道发生了什么改动。

来源https://blog.youkuaiyun.com/SHU15121856/article/details/81122006

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值