我在Intellij Idea中发现了一个奇怪的行为。在一个包含大约300行的复杂jspx页面中,intellij idea无法再正确格式化代码。
编辑:仅当页面保存为.jspx时才会出现此问题。如果我将其保存为.xml,问题就会消失。
例如此页:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0" xmlns="http://www.w3.org/1999/xhtml"
xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:my="http://java.sun.com/jsf/composite/mycomponents"
>
<ui:composition>
<f:view>
<p:panel header="XXX">
<p:outputLabel value="YYY"/>
</p:panel>
</f:view>
</ui:composition>
</jsp:root>
当我按下Ctrl + Alt + L时,我得到正确的输出:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0" xmlns="http://www.w3.org/1999/xhtml"
xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:my="http://java.sun.com/jsf/composite/mycomponents"
>
<ui:composition>
<f:view>
<p:panel header="XXX">
<p:outputLabel value="YYY"/>
</p:panel>
</f:view>
</ui:composition>
</jsp:root>
但是,当我将<p:outputLabel value="YYY"/>
粘贴到页面中大约300次时,自动装配会停止工作。
在更复杂的示例中,只有部分代码被格式化(例如p:panel
内的所有内容都已格式化,但ui:composition
和f:view
保持在同一位置(无缩进) 。
我没有找到任何有用的配置。有没有办法摆脱这种行为?
我使用Intellij Idea 12 Ultimate
答案 0 :(得分:2)
更新:该错误的解决方法是设置Code Style
| HTML
| Other
| Do not indent children if tag size more than
200 lines
错误可能是tracked here。
这似乎是一个错误,reported here,请投票。
答案 1 :(得分:0)
在想法中有这种行为的设置:
请调整设置:CodeStyle | HTML |其他|如果标签大小超过&lt; 200&gt;,请不要缩进儿童。线