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 を使用しています