今天遇到在IDEA中编写html时,起初是emmet语法无法直接在根标签下直接使用,如果中的div标签里是可以使用emmet语法的。
问题:
IDEA编写html(你可能是编写其它文件)时提示:’class’ or ‘interface’ expected(翻译:应为“class”或“interface”),此时emmet,html提示都无法正常使用。
经过各种排查,直接在一个空白html里写入一段文字提示’class’ or ‘interface’ expected。


起初以为是插件冲突,经过一番排查发现并不是。
最后查找到是Language Injections (语言标记)导致的。
解决方案:
依次打开:File – Strings – Editor – Language Injections

将不需要的项目取消勾选 ,保存即可。
我遇到的是它的上一层标签是body,于是我找含有body的项,取消勾选,问题解决。
如果你遇到该提示,请根据实际情况解决。网上别人遇到的是把java:String.format(java.lang)取消勾选。

